我正在处理 mySQL 上的这个查询——它似乎是在一个网站上处理的,其中 PEAR 和 MDB2 在运行的服务器上(不知道为什么......我自己不要这样做)。在我的本地测试系统上,它总是生成 MDB2 错误。PHPmyadmin 也不执行此查询。之所以需要子选择,是因为在此查询中不仅有一个,而是四个子选择。
SELECT * FROM table1
WHERE table1.orderID
IN
(
SELECT *
FROM table1
LEFT JOIN table2
ON (table1.customID = table2.customID)
WHERE table1.active=1
)
我可以像这样简化它(有效):
SELECT * FROM table1
WHERE table1.orderID
IN (1,2,3)
子选择也有效:
SELECT *
FROM table1
LEFT JOIN table2
ON (table1.customID = table2.customID)
WHERE table1.active=1
非常感谢您的帮助!