Alexander (HH): Sicht auf Tabelle

Beitrag lesen

Moin Moin!

Mahlzeit!

Mir liegt (in ACCESS) eine Tabelle vor, die hintereinander weg Messwerte beinhaltet:

nr probenr  wert      parameter
1  40       20,2      PARAM_1
2  40       0,15      PARAM_2
3  40       4,25      PARAM_3
4  50       18,9      PARAM_1
5  50       0,05      PARAM_2
6  50       6,15      PARAM_3

Machen möchte ich (für einen Excelbericht) folgendes:

probenr   wert_param_1  wert_param_2  wert_param_3
40        20,2          0,15          4,25
50        18,9          0,05          6,15

also irgendwie ein halbes transponieren... Mache ich das mit JOIN, also erst mit SELECT über jeden Parameter und dann mit JOIN zusammen?

Ich sehe im Moment keinen sauberen Weg in SQL, nur Getrickse:

  
select  
	probennr,  
	max(wert_param_1),  
	max(wert_param_2),  
	max(wert_param_3)  
from (  
	select  
		probennr,  
		wert   as wert_param_1,  
		-99999 as wert_param_2,  
		-99999 as wert_param_3  
	from  
		tabelle  
	where  
		parameter='PARAM_1'  
	union  
	select  
		probennr,  
		-99999 as wert_param_1,  
		wert   as wert_param_2,  
		-99999 as wert_param_3  
	from  
		tabelle  
	where  
		parameter='PARAM_2'  
	union  
	select  
		probennr,  
		-99999 as wert_param_1,  
		-99999 as wert_param_2,  
		wert   as wert_param_3  
	from  
		tabelle  
	where  
		parameter='PARAM_3'  
)  
group by  
	probennr  

(-99999 ist kleiner als alle möglichen Werte, ggf. anpassen.)

Alternative:

In Excel mit Makros oder Handarbeit die erste Form in die zweite bringen.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".