我有以下表格及相应的数据:
RequestsTable
ReqID | ReqBy | ReqDate
1 | User1 | 30/04/2013
2 | User2 | 30/04/2013
3 | MasterUser | 30/04/2013
Run Code Online (Sandbox Code Playgroud)
和
RequestorsTable
ReqUserName | ReqFullName
User1 | Sample User 1
User2 | Sample User 2
Run Code Online (Sandbox Code Playgroud)
我需要输出如下:
ReqID | ReqBy | ReqDate
1 | Sample User 1 | 30/04/2013
2 | Sample User 2 | 30/04/2013
3 | MasterUser | 30/04/2013
Run Code Online (Sandbox Code Playgroud)
我可以知道怎么办^^?
快速说明:MasterUser是一个超级用户帐户,因此不在数据库中,但可以提出请求.
谢谢您的帮助.
使用ISNULL和LEFT OUTER JOIN允许您有选择地选择要在结果集中返回的列.
示例Select语句
SELECT rt.ReqID, ISNULL(rst.ReqFullName, rt.ReqBy), rt.ReqDate
FROM RequestsTable rt
LEFT OUTER JOIN RequestorsTable rst ON rst.ReqUserName = rt.ReqBy
Run Code Online (Sandbox Code Playgroud)
替代方案ISNULL将是更多或COALESCE更少执行类似的功能.
示例Select语句
SELECT rt.ReqID, COALESCE(rst.ReqFullName, rt.ReqBy), rt.ReqDate
FROM RequestsTable rt
LEFT OUTER JOIN RequestorsTable rst ON rst.ReqUserName = rt.ReqBy
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
228 次 |
| 最近记录: |