【发布时间】:2017-02-23 16:55:12
【问题描述】:
我在两个数据库中有以下(简化的)情况:
ID Prog T Qt
|---------|--------|---------|---------|
| a | 1 | N | 100 |
| b | 1 | Y | 10 |
| b | 2 | N | 90 |
| c | 1 | N | 25 |
| c | 2 | Y | 25 |
| c | 3 | Y | 25 |
| c | 4 | Y | 25 |
|---------|--------|---------|---------|
ID Prog T Qt
|---------|--------|---------|---------|
| 1 | 1 | Y | 10 |
| 1 | 2 | N | 90 |
| 2 | 1 | Y | 100 |
| 3 | 1 | Y | 100 |
| 4 | 1 | Y | 50 |
| 4 | 2 | Y | 25 |
| 4 | 3 | Y | 25 |
|---------|--------|---------|---------|
我需要比较行组(主键是 ID 和 Prog),以找出哪些行组代表相同的因素组合(不考虑 ID)。
在上面的示例中,第一个表中的 ID“b”和第二个表中的 ID“1”具有相同的 Prog、T 和 Qt 值组合,而其他任何一个都不能被认为是完全相同的 2 dbs(虽然第二个表中的 ID "2" 和 "3" 相等,但我不想在同一个 db 中进行比较)。
我希望我解释了一切。
【问题讨论】:
-
@iamdave 我的 SQL 命令不如尝试几条 SELECT 语句应有的好。我认为我应该使用函数或存储过程来获取第一个表中所有 ID 的可能结果,而不是求助于一系列 SELECT * FROM ... JOIN ... ON ... WHERE 。 .. 事实是,我已经在这个网站和其他地方搜索了一些东西,但似乎没有人分享关于这个主题的任何内容。有 2 几十个值要匹配,所以我正在寻找简洁优雅的东西
标签: sql sql-server sql-server-2014