列 (M_Id、Name、Version、Descr) を持つ Modules というテーブルがあります。各モジュールの依存関係を詳述する別のテーブルがあります。つまり、モジュールは別のモジュールに依存している場合があります。このために、複合キー (M_Id_1, Depends) を持つ Mod_depends というテーブルを使用します。エントリの例:
Module
1 | Chameleon | 2.9.2 | HTML/XML template engine
2 | Unittest2 | 1.0.0 | unittest module
3 | OrderedDict | 1.0.1 | Ordered dictionary
Mod_depends
1 | 2
1 | 3
特定の ID に対して、依存関係を表す Modules テーブルからエントリを返すことができる MySQL クエリを探しています。上記の例で Id = 1 を指定すると、以下が返されます。
2 | Unittest2 | 1.0.0 | unittest module
3 | OrderedDict | 1.0.1 | Ordered dictionary
これには、結合またはサブクエリ マジック、あるいはその両方が必要ですか?
Modules テーブルにエントリが存在する場合にのみ Mod_depends テーブルへの追加が可能になるように、制約を追加する方法はありますか?
乾杯
乾杯