Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql查询问题(如何消除旧设备id列的空值记录)_Mysql - Fatal编程技术网

Mysql查询问题(如何消除旧设备id列的空值记录)

Mysql查询问题(如何消除旧设备id列的空值记录),mysql,Mysql,我有两张桌子 device(id, name) device_map(email, old_device_id) device\u map是用户和旧设备的列表。有些用户可能没有旧设备 old_device_id是唯一的,并引用设备表中的id。但它也可以是null 现在我想让select查询表连接 select device.email, device.old_device_id, device.name from join of device.id and device_map.old_de

我有两张桌子

device(id, name)
device_map(email, old_device_id)
device\u map
用户
旧设备
的列表。有些用户可能没有旧设备

old_device_id
唯一的
,并引用设备表中的
id
。但它也可以是
null

现在我想让select查询表连接

select device.email, device.old_device_id, device.name 
from join of device.id and device_map.old_device_id sort by device.name
未选择
device\u map
中具有
old\u device\u id
null的某些行

SELECT dmap.email, dmap.old_device_id, d.name
FROM device_map dmap 
JOIN device d ON d.id = dmap.old_device_id ORDER BY d.name

以下是查询:

SELECT dm.email, dm.old_device_id, d.name
FROM device_map dm 
LEFT JOIN device d ON d.id = dm.old_device_id ORDER BY d.name
设备映射
设备
表之间的
内部联接
将自动消除
旧设备id
值为
空的记录


左连接
也将包括空记录。

您能提供您的SQL吗?看起来你没有使用左连接。你能给我们提供一些示例结果吗?比如你有什么数据,你期望什么?我试过同样的查询。我也想包括所有空记录。@Durgaprasad:我已经更改了查询。如果您还想包括空记录,那么应该使用
左连接
而不是
内部连接