0
我正在使用Zend Framework 2的Doctrine在我的发票表上使用子查询进行查询。MySQL WHERE EXISTS不工作
这里是充满在
SELECT *
FROM invoices i1
WHERE (EXISTS (SELECT * FROM invoices i2 WHERE i2.invoice_first_name IN ('stephen') OR i2.invoice_middle_name IN ('stephen') OR i2.invoice_surname IN('stephen')))
ORDER BY i1.invoice_id DESC
参数简化生成的SQL我遇到的问题是,当我运行此查询在phpMyAdmin它返回所有的发票,甚至那些不包含名称“斯蒂芬”。
但是,当我单独运行子查询时,它返回2行,这是正确的。
SELECT * FROM invoices i2 WHERE i2.invoice_first_name IN ('stephen') OR i2.invoice_middle_name IN ('stephen') OR i2.invoice_surname IN('stephen')
那么,为什么不EXISTS
子查询的工作,我缺少什么?
非常感谢提前。