1
我知道在stackoverflow上有很多樞軸示例,我可以理解它們,但是現在我有一個問題,我無法解決,因爲與其他問題不同,請我可以接受您標記此作爲問題重複或降低我的成績,但我需要一個asnwer,我需要轉動此表在SQL上使用數據透視表
Co_ordenAt Co_EnfermedadPatologica No_NombreEnfPatologica Fl_Diagnostico
--------------------------------------- --------------------------------------- ----------------------------------------------------------------------------
83412520141 1 Alergias 1
83412520141 2 Asma 1
83412520141 3 Bronquitis 0
83412520141 4 Diabetes 0
83412520141 5 HTA 1
83412520142 1 Alergias 0
83412520142 2 Asma 0
83412520142 3 Bronquitis 0
83412520142 4 Diabetes 1
83412520142 5 HTA 0
是這樣的表
Co_ordenAt Alergia Asma Bronquitis Diabetes HTA
--------------------------------------- --------------------------------------- ----------------------------------------------------------------------------------------------------------------------
83412520141 Peanuts "observasion" 0 0 "observasion"
83412520142 0 0 0 "observasion" 0
我已經試過這個代碼
SELECT [Co_ordenAt], [Alergia], [Asma] ,[Bronquitis],[Diabetes],[ HTA]
from
(
SELECT Co_ordenAt,(CASE WHEN No_Diagnostico='' THEN 'No' ELSE No_Diagnostico END) as Diagnositco, Co_EnfermedadPatologica, No_NombreEnfPatologica, Fl_Diagnostico, T_AntecedentePersonal.No_Diagnostico
FROM
[dbo].[T_AntecedentePersonal] INNER JOIN T_EnfermedadPatologica
ON T_AntecedentePersonal.Co_EnfermedadPatologica = T_EnfermedadPatologica.Co_EnfedadPatologica
WHERE Co_ordenAt in (83412520141,83412520142)
) x
pivot
(
max(Diagnositco)
FOR No_NombreEnfPatologica in([Alergia], [Asma] ,[Bronquitis],[Diabetes],[ HTA])
)p
其中No_Diagnostico是從醫生的註釋如果Fl_diagnostico爲1(表示true),還是應該說「不」,如果No_Diagnostico爲NULL
但它返回一個重複Co_ordenAt與像第一個表,但與列我指定的,顯示除一個與Co_enfermedadPatologica(如表頭)
83412520141 1 PEANUT NULL NULL NULL NULL
83412520141 2 NULL OBV NULL NULL NULL
83412520141 3 NULL NULL NO NULL NULL
83412520141 4 NULL NULL NULL NO NULL
83412520141 5 NULL NULL NULL NULL OBV
83412520142 1 NO NULL NULL NULL NULL
83412520142 2 NULL NO NULL NULL NULL
83412520142 3 NULL NULL NO NULL NULL
83412520142 4 NULL NULL NULL OBV NULL
83412520142 5 NULL NULL NULL NULL NO
我希望所有的唯一一家通過Co_OrdenAt行上所有的人都爲空,但我已經嘗試了很多代碼,甚至與XML和動態查詢
這是正確的,你可以在這個[fiddle](http://sqlfiddle.com/#!3/20cdd/10)看到一個OP的查詢修改版本 – paqogomez 2014-12-03 20:48:58
更多的kludgy版本將由'Co_ordenAt '並在外部查詢中的所有enfermedades上選擇max。 – paqogomez 2014-12-03 20:50:22
工作完美,謝謝你們很多人 – 2014-12-03 21:02:15