0
我有以下數據。根據sql查詢生成的組檢索多行的特定列
ColumnA ColumnB
1234 1
1234 2
1234 3
1235 2
1236 2
1237 1
1237 2
1238 1
1238 3
1238 5
我需要輸出按下面,它只能說明在列1(例如ColumnA)
ColumnA ColumnB
1234 1
1234 2
1234 3
1237 1
1237 2
1238 1
1238 3
1238 5
其實我通過下面的查詢得到的第一個表相同價值的物品,我如何修改它以按照最終表格顯示?
select ColumnA, ColumnB
from TableX
group by ColumnA, ColumnB
--having COUNT(ColumnA) > 1
--having COUNT(ColumnB) > 0
order by ColumnA asc
UPDATE
運行下面的查詢會得到如下表,但如果我能按照原來的要求也將是巨大的......
SELECT b.ColumnA
(
select ColumnA, ColumnB
from TableX
group by ColumnA, ColumnB
--having COUNT(ColumnA) > 1
--having COUNT(ColumnB) > 0
-- order by ColumnA asc
) b
group by b.ColumnA
having COUNT(b.ColumnA) > 1
結果查詢是:
ColumnA
1234
1237
1238
UPDATE
這就行!如果有任何其他的解決方案,請讓我知道...
SELECT c.*
FROM TableX c
WHERE c.ColumnA IN
(
SELECT b.ColumnA
(
select ColumnA, ColumnB
from TableX
group by ColumnA, ColumnB
--having COUNT(ColumnA) > 1
--having COUNT(ColumnB) > 0
-- order by ColumnA asc
) b
group by b.ColumnA
having COUNT(b.ColumnA) > 1
)
如果對這一問題有一個答案,它應該發佈爲*答案*。如果你有問題的答案,你可以自己發表答案。編輯一個問題*包括*答案是不好的形式。 (StackOverflow作爲Question and Answer站點運行,有問題發佈爲答案,以問題形式發佈的答案不是StackOverflow的方式,而且對於使用StackOverflow的人來說,這個問題仍然顯示爲* not *有一個可接受的答案,就好像一個合適的答案還沒有找到。(壞形式) – spencer7593