【发布时间】:2021-06-23 11:16:29
【问题描述】:
我确信或者希望有一种简单的方法可以做到这一点。下面是我最近的尝试。查询应该只返回一行,但我得到 31。
查询:
`select distinct a.[EC CERS], a.[EC Tank ID], [CIW Tank ID]
from #tempectank a
inner join #tempciwtank b on a.[EC CERS] = b.[CIW CERS]
where a.[EC Tank ID] <> b.[CIW Tank ID]`
表格数据:
表 A
| EC CERS | EC Tank ID |
|---|---|
| 100338 | 1 |
| 100338 | 2 |
| 100338 | 3 |
表 B
| CIW CERS | CIW Tank ID |
|---|---|
| 100338 | 001 |
| 100338 | 2 |
| 100338 | 3 |
表架构
create table #tempectank(
s int IDENTITY (1, 1),
[EC CERS] varchar(9),
[EC Tank ID] varchar(255)
)
我需要查询返回一行,最好显示 EC CERS、EC Tank ID 和 CIW Tank ID。
【问题讨论】:
-
请标记您的 dbms。
-
请包含表架构和预期输出
-
你想要什么行——获取该行的规则是什么——不清楚你对给出的数据和描述的期望是什么
-
表应该在 CERS ID 上进行内部连接。我需要 Tank ID 不匹配的行。例如,在一种情况下,EC Tank ID 为 6,CIW Tank ID 为 WRP North。我希望返回此行和 Tank ID 不匹配的任何其他行。
标签: sql sql-server inner-join string-matching