我讀過很多JOIN語法的例子,但沒有一個適用於我的問題。在INSTR上加入JOIN的SQL問題()
我有一個表報價和銷售表查詢。一個報價可能會導致多個查詢,或者可能不會導致任何查詢。我想創建一個所有引號的列表,幷包含任何結果查詢的詳細信息。我預計會有多個結果行,導致許多查詢。我期望有一行有空或空查詢字段,對於那些沒有引起任何詢問的報價。
連接數據位於引號表中,其中有一個名爲「活動」的字段,其中包含導致的任何或所有查詢的ID。重新查詢進來它的更新各添é
所以,我想這一點:
SELECT q.*, e.id, e.price
FROM quotes as q
LEFT JOIN enquiries as e
ON INSTR(q.activity, e.id) >'0'
WHERE q.date > '2013-07-01'
但在我的成績每行包括查詢數據。我似乎無法讓它包含從未產生任何結果的引用。我認爲LEFT JOIN應該給我所有的報價,而不管詢問是什麼,並且在有匹配的地方包括查詢數據。但是我見過的每個例子都只是加入了a.id = b.id,所以我懷疑我的INSTR()匹配標準可能會讓事情變得糟糕。
您的查詢看起來像它應該返回引號中的所有行。檢查完整的返回結果集,這些可能會在最後。此外,您可以刪除「0」周圍的單引號。而且,你在用什麼數據庫? –
如果您要在一列中存儲多個外鍵值,這聽起來就像是您,您真的應該考慮一些關於規範化數據模型的內容。多值屬性是未來在關係模型中頭痛的祕訣。 – jpw
我同意在一列中有多個鍵是不理想的。我會說目前的頭痛,而不是未來的頭痛!但這就是我現在所堅持的。戈登,你是什麼意思「..所有行退回引號」?我肯定沒有得到行e。id不在q.activity字段中。我只獲得INSTR條件爲true的行。幫幫我!有人幫忙! – AJDncnsn