假设我有一个包含4个字段的MySQL表:
ID | ONE | TWO | THREE
我需要执行一个查询,最终结果将显示两行。我需要字段“ ONE”进行匹配。两者都说“小部件”。
然后,一行的“ TWO”字段应与“ MFG”匹配,另一行应为除“ MFG”以外的其他任何字段。例如:
ID | ONE | TWO | THREE
-----------------------
1 | WID | MFG | sthg
2 | WID | STR | stes
好吧,也许这会有所帮助。
这是我到目前为止的发言。
SELECT *
FROM cs_coupons
WHERE brand='Zantac'
AND product='Heartburn Relief 24ct +'
AND type='MFG'
UNION
SELECT *
FROM cs_coupons
WHERE brand='Zantac'
AND product='Heartburn Relief 24ct +'
AND type != 'MFG'
我需要做的是对所有行进行排序,检查每个品牌是否匹配。
最佳答案
((SELECT * FROM mytable WHERE ONE='WID' AND TWO='MFG' LIMIT 1)
UNION
(SELECT * FROM mytable WHERE ONE='WID' AND TWO != 'MFG' LIMIT 1) );
第一个查询返回带有WIG和MFG的一条记录,第二个查询返回带有WIG和!MFG的一条记录。你去。
但是我认为您很可能在误解该计划。如果WIG和MFG有多个记录,您将不确定会选择哪个记录。