子查询mysql的帮助

时间:2011-08-09 13:45:17

标签: mysql subquery

我在MySql数据库中有3个表:

  1. 用户;
  2. 具有名为data的日期字段的公司;
  3. 具有idUser和idCompany的对象。
  4. 我必须检索在公司日期字段中具有特定日期且符合以下规则的公司: 对象表中应该没有idP = xx和idI =的记录(具有特定值日期yy-mm-dd的公司的id)

    如何撰写此查询?

2 个答案:

答案 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创建索引,以使其更快地运行。