我目前正在使用以下查询通过 INNER JOIN 跨多个表执行搜索。
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
db_itemv (m1, m2) 的列命名为:
ID id_item fldnr indik txt1
一个 id_item 可能存在于多行中。
我的问题是, m2.fldnr='123' 并不总是存在,因此它会踢出整行。但是我想保留该行并在该行中不存在该列时保持该列为空。我该如何解决这个问题?