目标字段为pk_2013_1qrt,类型为整数。但是,当我运行下面的查询时,结果也包含pk_2013_1qrt=1值。我哪里错了?问候
SELECT *,ims_2012_modifiye.id AS imsID, ims_2012_modifiye.ilac_id AS ilacID,
ims_2012_modifiye.ilac_adi_duzgun AS iaDuzgun
FROM ims_2012_modifiye
LEFT JOIN ilaclar ON ims_2012_modifiye.ilac_id=ilaclar.id
WHERE ims_2012_modifiye.ilac_id NOTNULL
AND ims_2012_modifiye.asil_listede_mi=1
AND ims_2012_modifiye.ilac_id NOT IN
(SELECT ilac_id FROM piyasa_kontrol
WHERE pk_yil IN (2012,2011,2010,1900,1901))
OR
ims_2012_modifiye.oncelik_verilsin_mi=1
AND ims_2012_modifiye.pk_2013_1qrt=0
LIMIT 5
发布于 2013-01-31 17:40:08
与AND
相比,OR
的优先级较低。您想要什么还不清楚,但是最新的AND ims_2012_modifiye.pk_2013_1qrt=0
仅应用于包含ims_2012_modifiye.oncelik_verilsin_mi=1
的行。也许是这样的:
SELECT *,ims_2012_modifiye.id AS imsID, ims_2012_modifiye.ilac_id AS ilacID,
ims_2012_modifiye.ilac_adi_duzgun AS iaDuzgun
FROM ims_2012_modifiye
LEFT JOIN ilaclar ON ims_2012_modifiye.ilac_id=ilaclar.id
WHERE (ims_2012_modifiye.ilac_id NOTNULL
AND ims_2012_modifiye.asil_listede_mi=1
AND ims_2012_modifiye.ilac_id NOT IN
(SELECT ilac_id FROM piyasa_kontrol
WHERE pk_yil IN (2012,2011,2010,1900,1901))
OR
ims_2012_modifiye.oncelik_verilsin_mi=1)
AND ims_2012_modifiye.pk_2013_1qrt=0
LIMIT 5
发布于 2013-01-31 18:26:13
问题解决了。正如@Anton所说,并且可以优先访问查询结果。移动和ims_2012_modifiye.pk_2013_1qrt=0部分后,就可以解决我的问题。谢谢你,安东,致以问候
https://stackoverflow.com/questions/14622477
复制相似问题