存在两个表中的列。在表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