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
子查詢的工作,我缺少什麼?
非常感謝提前。