我有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