我有一个有很多列的表,但有两个主要列,称为District
和State
。我的sql查询如下。
$query = "SELECT * FROM table WHERE District = '" . $var . "' ORDER BY Date DESC";
此查询从区列返回我的数据。
现在这就是我想要的。在某些行中,District
列是空的,所以在这种情况下,我希望查询从State
列中提取数据。那可能吗?
可以在mysql查询中完成还是我必须在php中写一些东西?
你说的空是什么意思?如果是,NULL
那么你应该使用COALESCE
SELECT *, COALESCE(District, State) NewDistrict
FROM...
但如果它是空的''
。然后
SELECT *, IF(District = '', State, District) NewDistrict
FROM...
SELECT *
FROM table
WHERE District = '$var'
OR (District='' AND State='var')
ORDER BY Date DESC
$query = "SELECT * FROM table WHERE District = '" . $var . "' OR State = '" . $var . "' ORDER BY Date DESC";