[英]Comparing two columns from different tables of different types in SQL
2列中存在一列。 在表1中,此列包含二進制形式( int
), 1
和0
,而另一個表包含'Y'
和'N'
形式的列。
基本上我需要在表1中顯示包含與該列的表2中的值不同的值的行。 如何計算1到Y和0到N進行比較?
例:
表格1:
DateRecorded SchoolName StudentName isAbsent hasPassed
------------ ---------- ----------- -------- ---------
2011-04-03 ABC John Y Y
2011-04-05 ABC John N Y
表2:
DateRecorded SchoolName StudentName isAbsent hasPassed
------------ ---------- ----------- -------- ---------
2011-04-03 ABC John 0 1
2011-04-05 ABC John 0 1
應該返回行:
2011-04-03 ABC John Y Y
從表1可以看出,該行與表2中的同一行發生沖突。
嘗試這個:
SELECT * FROM tbl1
EXCEPT
SELECT
daterecorded,
schoolname,
studentname,
CASE isAbsent WHEN 1 THEN 'Y' WHEN 0 THEN 'N' END AS isAbsent,
CASE hasPassed WHEN 1 THEN 'Y' WHEN 0 THEN 'N' END AS hasPassed
FROM tbl2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.