0
我在MySQL数据库中3个表:子查询MySQL的帮助
- 用户;
- 公司有一个称为数据的日期字段;
- 具有idUser和idCompany的对象。
我必须找回已经得到了在公司的日期字段中的特定日期的公司,并且符合以下规则: 应该有宾语表格中没有记录有IDP = XX和IDI =(一个id的具体价值日期为yy-mm-dd的公司)
如何编写此查询?
我在MySQL数据库中3个表:子查询MySQL的帮助
我必须找回已经得到了在公司的日期字段中的特定日期的公司,并且符合以下规则: 应该有宾语表格中没有记录有IDP = XX和IDI =(一个id的具体价值日期为yy-mm-dd的公司)
如何编写此查询?
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创建索引以使其运行更快。
SELECT * FROM Company
LEFT JOIN Object ON(Object.idP = xx OR Object.idl = Company.id)
WHERE Company.date = somedate AND Object.idP IS NULL