【发布时间】:2013-01-04 16:56:43
【问题描述】:
我有这个问题:
query 1 =
SELECT emp.employeId,emp.nom,emp.prenom,msg.note,msg.quelleDate, emp.remarques, emp.autonome, embauche.actif as embaucheActif, embauche.embId, 'M' as source
FROM employes emp
LEFT JOIN messages msg ON msg.employeId = emp.employeId
LEFT JOIN embauche ON embauche.employeId = emp.employeId
WHERE emp.actif = 1
AND msg.quelleDate BETWEEN '2013-01-01' AND '2013-01-31'
UNION
SELECT emp.employeId,emp.nom,emp.prenom,msg.note,msg.quelleDate, emp.remarques, emp.autonome, embauche.actif as embaucheActif, embauche.embId, 'A' as source
FROM employes emp
LEFT JOIN messagesautre msg ON msg.employeId = emp.employeId
LEFT JOIN embauche ON embauche.employeId = emp.employeId
WHERE emp.actif = 1
AND msg.quelleDate BETWEEN '2013-01-01' AND '2013-01-31'
ORDER BY nom,prenom,quelleDate
还有这个查询
query2 = select nom,prenom from employes where actif = 1;
我正在尝试从query2 获取所有没有出现在query1 中的employeeId
我试过了
select employeId,nom,prenom from employes where actif = 1 AND employeId in ( query1 );
但这当然行不通,因为 query1 返回超过 1 列
是否可以使用 MySQL 查询来做到这一点?还是我必须编写 PHP 算法才能做到这一点??
【问题讨论】:
-
能否提供表结构和示例数据?它可能有助于解决您的问题。
-
查看我编辑后的链接
-
谢谢。我自己已经创造了一些东西。但是我的法语不是很好,所以我需要做一些猜测。