blueeyephoenix
Goto Top

SQL Ausgabe hintereinander schreiben bei drei Abfragen

Hallo Community,

ich habe da mal eine Frage zu SQL abfragen bei der ich nicht mehr weiter komme.
Die Abfrage sieht wie folgt aus
SELECT
te1.TEST,
te1.Fakt1,
te2.Fakt2,
te3.Fakt3

From 
    (SELECT 
	    a.cArtNr AS 'TEST',   
		CAST(s.fWertDecimal AS decimal(17,2)) AS 'Fakt1'  
		FROM tArtikel a
		INNER JOIN tArtikelAttribut t 
			ON a.kArtikel = t.kArtikel
		INNER JOIN tArtikelAttributSprache s 
			ON t.kArtikelAttribut = s.kArtikelAttribut
		WHERE t.kAttribut = '500'   
			AND s.fWertDecimal > 0  
			)te1 
inner join
	(SELECT 
		a.cArtNr AS 'TEST',   
		CAST(s.fWertDecimal as decimal(17,2)) AS 'Fakt2'  
		FROM tArtikel a
		INNER JOIN tArtikelAttribut t 
			ON a.kArtikel = t.kArtikel
		INNER JOIN tArtikelAttributSprache s 
			ON t.kArtikelAttribut = s.kArtikelAttribut
		WHERE t.kAttribut = '600'  
			AND s.fWertDecimal > 0 )te2
		
inner join	
	(SELECT 
		a.cArtNr AS 'TEST',   
		CAST(s.fWertDecimal as decimal(17,2)) AS 'Fakt3'  
		FROM tArtikel a
		INNER JOIN tArtikelAttribut t 
			ON a.kArtikel = t.kArtikel
		INNER JOIN tArtikelAttributSprache s 
			ON t.kArtikelAttribut = s.kArtikelAttribut
		WHERE t.kAttribut = '900'  
			AND s.fWertDecimal > 0 )te3
ON te1.TEST = te2.TEST or te1.TEST = te3.TEST

Die Abfrage funtkioniert bis zum te2, bis da bekomme ich meine Ausgabe hin aber sobald ich noch ein SELECT hinzufügen möchte klappt dies nicht mehr.
Gibt es dort einen Trick oder ist das so nicht möglich.

Content-ID: 391337

Url: https://administrator.de/forum/sql-ausgabe-hintereinander-schreiben-bei-drei-abfragen-391337.html

Ausgedruckt am: 22.12.2024 um 08:12 Uhr

ukulele-7
Lösung ukulele-7 31.10.2018 um 17:11:22 Uhr
Goto Top
Ohne die Daten und dein Zeil zu kennen ist es unmöglich über die sinnhaftigkeit deiner Abfrage zu urteilen aber für mich sieht das nach groben Unfug aus. Du joinst mehrere gleichartige Tabellen, wäre hier vielleicht ein UNION ALL besser?

Konkret hast du einen Syntaxfehler. Die Join-Condition für te2 gehört in Zeile 30, also die Syntax wäre JOIN ... ON ... JOIN ... ON.
BlueEyePhoenix
BlueEyePhoenix 01.11.2018 um 07:45:34 Uhr
Goto Top
Naja es sieht vllt komisch aus aber es funktioniert. Mit deinem Hinweis auf den Syntax fehler und der Join Condidtion konnte ich das Problem lösen und bekomme meine passende Ausgabe. Danke schön.