odl*_*yer 1 sql sql-server-2000
//这是我的表1
TransactionNum Type
65658 0
65659 0
65660 449
65661 0
Run Code Online (Sandbox Code Playgroud)
//这是我的表2
Type Description
445 Discount #1
446 Discount #2
447 Discount #3
448 Discount #4
449 Discount #5
450 Discount #6
Run Code Online (Sandbox Code Playgroud)
//这是我的剧本
SELECT a.TransactionNum,b.Description FROM Table1 a,Table2 b
WHERE a.Type=b.Type ORDER BY TransactionNum
Run Code Online (Sandbox Code Playgroud)
//结果
TransactionNum Description
65659 Discount #4
Run Code Online (Sandbox Code Playgroud)
//我希望结果是这样的,结果中也应该包含0类型的TransactionNum,请帮我这个,我在这里使用SQL2000.
TransactionNum Description
65658 0
65659 0
65660 Discount #5
65661 0
Run Code Online (Sandbox Code Playgroud)
使用LEFT JOIN替代,
SELECT a.TransactionNum,
COALESCE(b.Description, CAST (a.Type AS VARCHAR(20))) AS Description
FROM Table1 a LEFT JOIN Table2 b
ON a.Type=b.Type
ORDER BY a.TransactionNum
Run Code Online (Sandbox Code Playgroud)
要进一步了解联接,请访问以下链接:
OUTPUT
????????????????????????????????
? TRANSACTIONNUM ? DESCRIPTION ?
????????????????????????????????
? 65658 ? 0 ?
? 65659 ? 0 ?
? 65660 ? Discount #5 ?
? 65661 ? 0 ?
????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |