php - MySql 从两个相同的表中获取一条记录并进行检查

标签 php mysql

我想从两个相同的表中获取相同的记录,但带有检查。

我有以下两个相同的表:

表_1

id  | enc   | first_name | last_name | address | city
1   | 1001  | John       | Doe       | abc     |

表_2

id  | enc   | first_name | last_name | address | city
1   | 1001  |            | Doe       |         | xyz

我想从 table_2 获取记录,但由于 first_nameaddress 为空,因此应该从记录 table_1 但是 table_1 中的 city 又是空的,因此它会从 table_2

获取记录

我尝试过这样的联合:

(SELECT * from `table_1` where `id` = `1) 
UNION 
(SELECT * from `table_2` where `id` = `1)

但它提供了表中的两条记录。我只想要一条记录使用两个表,如下所示:

id  | enc   | first_name | last_name | address | city
1   | 1001  | John       | Doe       | abc     | xyz

最佳答案

SELECT IFNULL(T1.id,T2.ID) ID,IFNULL(T1.enc,T2.ENC)ENC,IFNULL(T1.first_name,T2.first_name)first_name , IFNULL(T1.last_name ,T2.last_name )last_name ,
IFNULL(T1.address ,T2.address )address ,
IFNULL(T1.city,T2.city)address 
 from `table_1` T1
INNER JOIN `table_2` T2 ON T1.ID=T2.ID

尝试上面的查询。

关于php - MySql 从两个相同的表中获取一条记录并进行检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44966441/

相关文章:

php - 如何从具有不同外键名称的两个表中获取数据

MySQL:启用 LOAD DATA LOCAL INFILE 重置

javascript - 如何将php中的mysql数据发送到javascript数组

php - Joomla : Can a super administrator get the ftp password of that site (from configuration file or any other way)?

php - 如何使用 Apache SOLR 和 PHP 代码突出显示搜索结果

php - time() 是否独立于时区设置?

php - 谁能帮我将从表中的 mysql 数据库获取的数据传递到提交时的另一个页面?

同时具有主键和唯一键约束的 MySQL 表

php - 循环数据库中的特定记录并显示结果 - PHP

php - 我想在 php mysql 中添加两个文本框的数值