我想在當前表格被引用到的另一個表格中的值之後進行排序。我的查詢是這樣的:左連接多個表格和條件
SELECT o._id,
o.titel,
o.beschreibung
FROM `objekt` AS o,
`objekt_einzel` AS oe,
`objekt_einzel_immobilie` AS oei,
`objekt_art` AS oa,
`verortung` AS v
#here
,`person` AS p,
`person_bauträger` AS pb
#end
WHERE o._id = oe.objekt_id
AND oe._id = oei.objekt_einzel_id
AND oa._id = o.objekt_art_id
AND o.ort_id = v._id
#here
AND oe.bauträger_id = pb._id
AND pb.person_id = p._id
#end
AND (oei.justimmo_objekt_id = "0"
OR oei.justimmo_objekt_id IS NULL
OR oei.justimmo_objekt_id = "")
#here
ORDER BY p.firmenbezeichnung ASC
查詢工作正常,但它表明我只值如果oe.bauträger_id
設置。我也想要null
值。所以我需要一個左連接。我嘗試了不同的東西,但我只收到像unknown column
這樣的消息,或者我得到的結果太多。
我試圖把它簡化爲這樣:
SELECT o._id,
o.titel,
o.beschreibung
FROM `objekt` AS o,
`objekt_einzel` AS oe,
(SELECT oe.bauträger_id
FROM objekt o, objekt_einzel oe, objekt_einzel_immobilie oei
WHERE o._id = oe.objekt_id AND oe._id = oei.objekt_einzel_id) AS menge1
LEFT JOIN
(SELECT pb._id AS bauträger_id
FROM person p, person_bauträger pb
WHERE p._id = pb.person_id) AS menge2
ON menge1.bauträger_id = menge2.bauträger_id
WHERE o._id = oe.objekt_id AND oe.bauträger_id = menge1.bauträger_id
但在這裏我得到一個太大的結果集。我不知道如何更好地解釋這一點。數據集太大而無法創建示例。我希望你明白我的意思。
第一步使用正確的連接語法.... –
@TonyHopkinson我同意使用'JOIN ... ON'語法而不是隱式連接通常會非常有用,因爲它可以使事情更清晰,但在這種情況下,它不是絕對的必要。 – Palec
@Palec這不是絕對有必要不拍攝自己的腳。 –