【发布时间】:2012-05-25 10:10:51
【问题描述】:
我有一个包含 3 列的表格:id、val1 和 val2。
对于 val2 的每个不同值,我想选择存在 多个 val1 不同值的所有行。
例子:
| id | val1 | val2 |
|------------------|
| 1 | A1 | a2 |
| 2 | A1 | a2 |
| 3 | A1 | b2 |
| 4 | B1 | b2 |
| 5 | A1 | c2 |
| 6 | A1 | c2 |
| 7 | A1 | c2 |
| 8 | A1 | d2 |
| 9 | C1 | d2 |
| 10 | A1 | d2 |
想要的结果:
| id | val1 | val2 |
|------------------|
| 3 | A1 | b2 |
| 4 | B1 | b2 |
| 8 | A1 | d2 |
| 9 | C1 | d2 |
| 10 | A1 | d2 |
我没有设法提出任何允许我这样做的查询,也许其他人对如何解决这个问题有想法。
【问题讨论】:
-
什么数据库系统? MSSQL 2005/08/12,MySQL...
-
第 8 行和第 10 行相同,只是 ID 号不同。我不明白你为什么要包括 8 和 10,但排除 1 和 2,除了 id 号之外它们也是相同的。
-
@Catcall:对于 val2=a2(第 1-2 行),仅存在 1 个 val1 的不同值,但对于 val2=d2(第 8-10 行)存在 1 个以上的 val1 不同值跨度>
标签: sql postgresql select postgresql-9.1