mysql - 加入两个表并保留不同的值

标签 mysql sql-server-2008 join left-join sqlfiddle

我有两个表,子表和父表,我想加入它。子表包含与父表中的字段不相似的字段。请在下面找到表格结构:

站点表:

Site    | SiteName
----------------------
1         London
2         Paris
3         NY

Assets 表:

ID      | Site
----------------------
A         1
B         1
C         2
D         3
E         5
F         Null

我想加入这两个表并得到这个结果:

ID      | SiteName
----------------------
A         London
B         London
C         Paris
D         NY
E         5
F         Null

我尝试了以下代码:

SELECT a.ID, s.SiteName 
FROM AssetsTable a LEFT JOIN SiteTable s on (s.site = a.site)

SQL Fiddle

最佳答案

SQL使用ISNULL,mysql使用IFNULL

select a.ID, ISNULL(s.SiteName,a.Site) 
FROM AssetsTable a LEFT JOIN SiteTable s on (s.site = a.site)

检查 SQL Fiddle

关于mysql - 加入两个表并保留不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24381239/

相关文章:

PHP 和 mysql 连接

sql-server-2008 - 使用 SQL Server Management Studio 访问 SQL Server 2008 R2 Express

sql - 我可以避免在这里使用游标吗?

sql-server-2008 - SQL Server-存储过程中的嵌套事务

MySQL选择其他表中没有匹配列的行

MySQL语法从多个表扩展链接

PHP 问题 : How to fix these if/elseif statements

mysql - 如何使用 CURL 将 .csv 文件从本地计算机 (Getfile) 发送到 Apache Nifi 中的 Hive(Puthiveql)?

mysql - 数据库查询失败 : Column 'id' in field list is ambiguous

mysql - 获取多连接中的行数