は、私は3つのテーブルがあるとし、左側のテーブルのすべての行との声明に参加しますだから私はフィールドのすべての行を持っているたびに、プロジェクトXがいくつかのフィールドのデータを持っていない場合は、空の行を返します。MySQLは
私は、次のSQL文を試してみました:
SELECT * FROM field as f
left data as d on f.ID = d.f_id
WHERE d.p_id = 'X'
これは、Xは、いくつかのデータを持っており、データが存在しない場合は、空の行を返さないプロジェクト行のみが返されます。
私も試してみました:
SELECT * FROM field as f
left join data as d on f.ID = d.f_id
left join project as p on p.ID = d.p_id
この意志がフィールドからすべての行を返すだけでなく、他のプロジェクトのデータを返し、プロジェクトはデータがない場合は声明のは、空の行を返さない場合は病気を追加した場合。
私も試してみました:
SELECT * FROM field as f
left join data as d on f.ID = d.f_id
left join project as p on p.ID = d.p_id
WHERE (p.ID == 'x' || p.ID is null)
しかし、この戻りフィールド行の行は、他のプロジェクトで使用されていない、と他のプロジェクトは、それを使用して、そのフィールドがある場合ので、私はこのフィールドを取得する文句を言わない場合に限ります。 (左のテーブルから行を取得しない)
とにかく、プロジェクトにデータがない場合でも、左のテーブル(フィールド)からすべての行を選択するにはどうすればよいですか?
恐ろしいテーブル名、フィールド、データ... – jarlh
実際の名前ではなく、例のためだけです@jarlh – Jordan