存在兩個表中的列。在表1中,該列包含二進制形式(int
),1
和0
的值,而另一個表包含形式爲'Y'
和'N'
的列。比較SQL中不同類型的不同表中的兩列
本質上,我需要顯示錶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.
首先,它要麼SQL Server 2008或2012,沒有SQL Server 2010中除此之外,你在這些表中有一些共同的列嗎?如同在column1的相同值中,您需要查看您的二進制列在兩個表上的值是否相同? – Lamak 2012-07-06 04:19:50
嗨拉馬克感謝您的評論。是的,我的錯誤,我正在使用的2008 R2。實際上,我有兩個表應該是相同的表,但1個表包含1和0格式的所有數據,而另一個表包含Y和N格式的所有數據。現在我需要確定是否有包含衝突數據的行。對於例如如果列在表1中列爲'1'並且在表2中列爲'N',我需要查明。 – user1505695 2012-07-06 04:26:35
@ user1505695爲了給您一個準確的答案,我們需要了解有關表格的更多信息。請張貼您的表架構,並可能是一個示例數據集。 – 2012-07-06 04:33:13