左连接后的SQL Server MERGE列?

dee*_*392 1 sql-server asp.net visual-web-developer

我是SQL Server的新手,所以我希望你能提供帮助.

基本上我有两个信息表.第一个看起来像:

  • table1 [ ID, Name]
  • table2 [ FKID, ID, Name]

我想做一个如下声明:

SELECT table1.Name, table2.Name
FROM table1
LEFT JOIN table2 ON table2.FKID = table1.ID
Run Code Online (Sandbox Code Playgroud)

这导致类似于:

['Name 1a', 'Name 2a']
['Name 1b', NULL]
['Name 1c', NULL]
Run Code Online (Sandbox Code Playgroud)

但我想要的只是选择一列,Name 1x或者Name 2x是否为空(左连接没有键匹配).

我想,典型的响应是使用我的编程语言来解决这个问题,但是在使用GridViews的Visual Web Developer和所有这些废话中证明这是非常困难的,所以最有用的是数据库解决方案.

非常感谢!

小智 7

SELECT coalesce(table1.Name, table2.Name) as YourName
FROM table1 
LEFT JOIN table2 ON 
table2.FKID = table1.ID 
Run Code Online (Sandbox Code Playgroud)

COALESCE()将返回第一个NOT NULL值.这是你在找什么?

  • 你可能打算写'coalesce'(编辑无法修复少于6个字符:) (2认同)