我在MySql数据库中有3个表:
我必须检索在公司日期字段中具有特定日期且符合以下规则的公司: 对象表中应该没有idP = xx和idI =的记录(具有特定值日期yy-mm-dd的公司的id)
如何撰写此查询?
答案 0 :(得分:1)
SELECT * FROM Company
LEFT JOIN Object ON( Object.idP = xx OR Object.idl = Company.id )
WHERE Company.date = somedate AND Object.idP IS NULL
答案 1 :(得分:1)
SELECT * FROM Company WHERE data = '2011-08-09' AND
Company.id NOT IN
(SELECT Object.idI FROM Object WHERE Object.idI = Company.id AND Object.idP = 'XX')
但我必须说你的列和表命名需要重新完成。它可能更有意义。
您必须为Object.idI和Object.idP创建索引,以使其更快地运行。