有沒有更好的方式來使這個查詢工作?如果有可用的解決方案,我正在尋找更高效的解決方案。可以對此MySQL查詢(使用子查詢)進行優化嗎?
SELECT `unitid`, `name` FROM apartmentunits WHERE aptid IN (
SELECT `aptid` FROM rentconditionsmap WHERE rentcondid = 4 AND condnum = 1
) AND aptid IN (
SELECT `aptid` FROM rentconditionsmap WHERE rentcondid = 2 AND condnum = 1
) ORDER BY name ASC
@tenner:您的查詢工作。現在,如果我需要添加更多的setscondcondid和condnum,我只想在該查詢中繼續進行更多連接嗎? SELECT unitid,name FROM apartmentunits WHERE aptid IN(SELECT r1.aptid FROM rentconditionsmap r1 JOIN rentconditionsmap r2 ON r1.aptid = r2.aptid WHERE r1.rentcondid = 4 AND r1.condnum = 1 AND r2.rentcondid = 2 AND r2 .condnum = 1) – 2010-03-04 19:54:55
是的,如果您有三個條件,那麼在自聯接中需要三個表。 – Tenner 2010-03-04 20:07:31