比较两列中的值

时间:2012-12-06 19:55:09

标签: sql-server tsql sql-server-2012 sql-like

我在查询中返回值时需要帮助。请看下面的示例,其中A列中的值链接到B列:

Column A             Column B
---------            ---------
45008                AQZ45008D
45008                ABC12345
45007                45007AX
45007                11652019
45007                JMD45007

我需要的只是返回列B中某处的值找到的行。因此,在此示例中,需要返回行1,3和5。

我希望这是一个明显的例子。谢谢你的帮助!

2 个答案:

答案 0 :(得分:5)

您可以尝试:

SELECT *
FROM Table
WHERE ColumnB LIKE '%' + ColumnA + '%' 

我假设这两列是varchar。否则你可能需要对它们进行CAST。

答案 1 :(得分:0)

不确定您是否希望值并行匹配,这是最简单的,但如果ColumnB的任何值都可以与ColumnA

的任何值匹配

尝试使用:

SELECT DISTINCT ColumnA
FROM Table t
WHERE EXISTS (SELECT TOP 1 ColumnB FROM table t2 WHERE t2.ColumnB LIKE '%' + t.ColumnA + '%')