解决了我的问题...查看第二段代码
这是我的 sql 语句,它比较来自不同表的 2 行序列号。如果匹配,则显示是,但如果不匹配,则显示否 这在不同的桌子上出于 2 个不同的原因执行了两次
SELECT table1.serial1, table1.serial2,
CASE WHEN table2.serial1 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol1],
CASE WHEN table3.serial2 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol2]
FROM table1
LEFT JOIN table2
ON table2.serial1 = table1.serial1
LEFT JOIN dbo.EPG
ON table3.serial2 = table1.serial2
然后我想做的是创建另一列,如果第一列或第二列是“是”,则在该行中放置“是”,否则它将显示“否”。我意识到你不能计算计算列,所以我想做的是重复表达式并有一个 or 语句没有运气。除了基本的 sql 之外,我在编写任何东西方面都不是很有经验……这是 mty 的尝试:
SELECT DISTINCT table1.serial1, table1.serial2,
CASE WHEN table2.serial1 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol1],
CASE WHEN table3.serial2 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol2],
CASE WHEN table3.serial2 IS NULL OR table2.serial1 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol2]
FROM table1
LEFT JOIN table2
ON table2.serial1 = table1.serial1
LEFT JOIN dbo.EPG
table3.serial2 = table1.serial2