我需要为该php mysql查询找到正确的语法,尽管进行了搜索和反复试验,但我还是空白了。
我有一个库存表-'Stockists',我需要根据state1,state2或两者的存在从每一行中提取数据。如果仅存在state1,则提取该记录,如果它们都存在,那么我需要基于state2的记录。
SELECT * FROM `Stockists` WHERE state1 = 'vic' AND state2 IS NULL
IF state2 IS NOT NULL
THEN
SELECT * FROM `Stockists` WHERE state2 = 'vic'
我搜索并使用了很多不同的示例,但似乎没有任何用,任何建议或线索都将不胜感激。
干杯
最佳答案
select *
from stockists
where (state2 = 'vic') or (state1 = 'vic' and state2 is null);
试试看获取将state2设置为vic的所有库存商,以及将state1设置为vic的所有库存商,其中state2未设置。这是一个演示示例:http://sqlfiddle.com/#!9/15a08/1
它不会检索state1 ='vic'和state2 ='someotherstate'的记录
关于php - 如果在MySQL查询中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29536073/