簡體   English   中英

比較SQL中不同類型的不同表中的兩列

[英]Comparing two columns from different tables of different types in SQL

2列中存在一列。 在表1中,此列包含二進制形式( int ), 10 ,而另一個表包含'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

SQL-Fiddle演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM