我对SQL Server比较陌生,所以我希望你能提供帮助。
基本上我有两个信息表。第一个看起来像:
ID, Name
] FKID, ID, Name
] 我想做一个如下声明:
SELECT table1.Name, table2.Name
FROM table1
LEFT JOIN table2 ON table2.FKID = table1.ID
这导致类似:
['Name 1a', 'Name 2a']
['Name 1b', NULL]
['Name 1c', NULL]
但我想要的只是选择一列,如果它不为空,则为Name 1x
或Name 2x
(左连接上没有键匹配)。
我认为典型的响应是使用我的编程语言来解决这个问题,但是在使用GridViews的Visual Web Developer和所有这些废话中证明这是非常困难的,所以最有用的是数据库解决方案。 / p>
非常感谢!
答案 0 :(得分:7)
SELECT coalesce(table1.Name, table2.Name) as YourName
FROM table1
LEFT JOIN table2 ON
table2.FKID = table1.ID
COALESCE()
将返回第一个NOT NULL值。这是你在找什么?
答案 1 :(得分:0)
COALESCE()
将合并行。如果要合并列,请尝试以下方法:
SELECT CONCAT(ColA, ColB) AS ColAB