我有3個表:
Jobs | messages | Quotes
查詢3個表沒有重複
的jobs
表有大約發佈的工作的所有信息。 job_id
是auto_increment
。 如果對jobs job_id
發佈消息,message
表中會包含一條消息。
Quotes
表中包含針對jobs job_id
提交的任何報價。
我想:
select all from jobs where ...blah
select if exists from messages any message where messages table job_id = job table job_id
select if exists from quotes any quote where quotes job_id = job table job_id
這可能嗎?我做了這個左連接查詢,但它給出了重複的結果。
$sql = "SELECT DISTINCT jobs.job_id AS jobid,
jobs.worktitle AS wrktitle,
jobs.workinfo AS wrkinfo,
messages.message AS msg FROM jobs
LEFT JOIN messages ON
jobs.job_id = messages.job_id
LEFT JOIN quotes ON
jobs.job_id = quotes.workid";
請幫忙!謝謝史蒂夫
好的抱歉我的問題不是很好。我試圖查詢我的工作表,這是直截了當的。不過,我有2個其他表通過作業ID列與此表關聯。消息和報價。消息表包含通過作業ID詢問關於特定作業的任何問題 - 引用表包含通過作業ID針對特定作業提交的任何引用。我試圖查詢作業表並通過作業ID加入消息和引用表。但是這會給作業表的重複行。是否有可能查詢作業表,並顯示任何消息或報價? - 傑拉德P
所以你想要同時有消息和報價的工作? – Bulat 2014-09-10 21:31:44
如果您可以發佈樣本數據和預期結果,它將有所幫助。考慮使用SqlFiddle.com並添加鏈接到模式與數據到您的問題。 – Bulat 2014-09-10 21:32:31
是的,我想工作 - 顯示結果,並與任何消息和任何報價一起顯示具有相同的工作ID即時對不起我新和不知道如何做其他東西你問 – 2014-09-10 21:35:57