php - mysql查询将值分配给来自不同列的相同变量

标签 php mysql sql

我有一个包含许多列的表,但有两个主要列,分别称为 DistrictState。我的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...

关于php - mysql查询将值分配给来自不同列的相同变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13581325/

相关文章:

mysql - 如何递归选择MySQL表中的所有 parent ?

mysql - 更改数据库中的所有表

PHP While 循环从多个 'Joined' 表中分离唯一类别

php - 输出以秒为单位。转换为 hh :mm:ss format in php

MySql Group By 同一张表?

mysql - 将类别名称替换为保存层次结构的 ids

php - laravel Eloquent 中可以进行多级连接吗?

php - 使用 PHP 的 Foreach 循环在单独的文本框中显示数据库中的每个条目

javascript - 如何在 javascript print() 函数中设置字体大小

mysql - SQL连接三个表,一个表返回未知数量的结果,不想要重复的行