我是新來的SQL,嘗試自我教導,並且已經與我一樣掙扎,應該是一個非常簡單的查詢,或者至少是一個非常常見的一個。我甚至不確定我是否知道用詞彙來描述我想要達到的目標,所以如果這個帖子的標題竟然是誤導性的,那麼我很抱歉! :)在同一個查詢中使用相同的列對不同組合的結果返回數據
我有一個大的數據庫。我想識別一行中2個結果一起出現的行,或者同一列中的另一個2個結果在設定的時間段內一起出現。
我開始使用AND
但結果爲零。我花了整整兩三個小時在網上搜索,但成果有限。似乎有很多類似的線程暗示UNION
,SELECT DISTINCT
,JOIN
或其他解決方案,但我完全無法根據我的需要調整它們。
任何指針非常讚賞。
所以,我的表稱爲VNH.dbo.ClinicalCaseItem
數據表看起來像這樣:
ActualDateTime | CaseId | ProcedureTestId | Description | FeeAmount
我需要限制ActualDateTime
大於2017-04-03
或條目的數量會碰上十萬100S 。 ProcedureTestId
是關鍵列。我需要專門將CaseId
與ProcedureTestId 309
與ProcedureTestId 245
一起出現,而那些CaseId
與ProcedureTestId 309
與ProcedureTestId 326
一起出現。
我不會詳細說明我嘗試過的所有不同的查詢,因爲已經有半打左右,沒有人接近實現我需要的結果,而且大多數都完全失敗。
提前感謝
示例數據:
ActualDateTime | CaseId | ProcedureTestId | Description | FeeAmount
2017-04-25 | 123456 | 309 | Place iv catheter | 30.00
2017-04-25 | 123456 | 329 | GA Patient | 100.00
2017-04-27 | 134523 | 309 | Place iv catheter | 30.00
2017-04-27 | 234567 | 245 | Sedate Patient | 45.00
2017-04-28 | 234567 | 309 | Place iv catheter | 30.00
2017-04-28 | 345321 | 245 | Sedate Patient | 45.00
2017-04-29 | 451324 | 309 | Place iv catheter | 30.00
2017-04-30 | 451324 | 309 | Place iv catheter | 30.00
2017-04-30 | 451324 | 375 | Surgical Pack | 28.00
2017-04-25 | 989898 | 309 | Place iv catheter | 30.00
2017-04-27 | 989898 | 245 | Sedate Patient | 45.00
2017-04-25 | 999999 | 309 | Place iv catheter | 30.00
2017-04-27 | 999999 | 245 | Sedate Patient | 45.00
2017-04-27 | 999999 | 326 | Bathe Patient | 45.00
2017-04-27 | 987654 | 375 | Surgical Pack | 28.00
2017-04-25 | 987654 | 309 | Place iv catheter | 30.00
2017-04-27 | 987654 | 245 | Sedate Patient | 45.00
2017-04-27 | 987654 | 329 | GA Patient | 100.00
2017-04-27 | 987654 | 326 | Bathe Patient | 45.00
查詢的預期結果將是:
ActualDateTime | CaseId | ProcedureTestId | Description | FeeAmount | count_of
2017-04-25 | 123456 | 309 | Place iv catheter | 30.00 | 2
2017-04-25 | 123456 | 329 | GA Patient | 100.00 | 2
2017-04-27 | 234567 | 245 | Sedate Patient | 45.00 | 2
2017-04-28 | 234567 | 309 | Place iv catheter | 30.00 | 2
2017-04-25 | 989898 | 309 | Place iv catheter | 30.00 | 2
2017-04-27 | 989898 | 245 | Sedate Patient | 45.00 | 2
2017-04-25 | 999999 | 309 | Place iv catheter | 30.00 | 2
2017-04-27 | 999999 | 245 | Sedate Patient | 45.00 | 2
2017-04-25 | 987654 | 309 | Place iv catheter | 30.00 | 3
2017-04-27 | 987654 | 245 | Sedate Patient | 45.00 | 3
2017-04-27 | 987654 | 329 | GA Patient | 100.00 | 3
實際的數據樣本將幫助。問題:「鍵列」是什麼意思?它是主鍵還是外鍵? – Alex
對不起,只是說 - 最重要的 - 就像我的問題所依賴的那個。 示例數據: – be4con
示例數據請輸出您想要的結果。 – Alex