現在、次のクエリを使用してINNER JOINを介して複数のテーブルを検索しています。 db_itemvの異なる内部条件を持つ複数の内部結合
SELECT title, m2.txt1 AS teaser, inputdat, db_file.*
FROM db_item
INNER JOIN db_itemv AS m1 USING(id_item)
INNER JOIN db_itemf USING(id_item)
INNER JOIN db_itemd USING(id_item)
INNER JOIN db_itemv AS m2 USING(id_item)
WHERE type=15 AND m1.fldnr='12'
AND m1.indik='b' AND m1.txt1s='en'
AND visibility=0 AND inputdat>'2005-11-02' AND m2.fldnr='123'
GROUP BY title
ORDER BY inputdat DESC
LIMIT 0,100
列(M1、M2)が命名される:
ID id_item fldnr indik txt1
一つid_itemは複数の行に存在してもよいです。
私の問題は、m2.fldnr = '123'は必ずしも存在しないため、行全体がキックアウトされるということです。しかし、私は行を保持し、その行に存在しないときは列を空にしておきたい。どうすれば問題を解決できますか?
は '左外側join' –