[DB2 SQL] Verbrauchsabfrage über mehrere Spalten

Robbeck

Grünschnabel
Liebe Community,

ich habe ein großes Problem und komme nicht mehr weiter.

In der Spalte A habe ich meine Baugruppen und in den Spalten B-F die dazugehörigen Teile.
Nun möchte ich für jedes Teil den Verbrauch aus einer anderen Tabelle ermitteln. Mir fällt nur ein, zuerst den Verbrauch der Teile in Spalte B abzufragen, die Tabelle speichern, erneut laden und die nächste Spalte abzufragen. Dies ist aber höchst umständlich.
Fällt euch vielleicht eine bessere Methode ein ?


Wäre super, wenn ihr mir helfen könntet ! :)
Danke und Gruß,
Robbeck
 
Im Titel schrebst du, dass es MS SQL ist. Deine BEschreibung klingt aber nach Excel.

Des weiteren versteh ich nicht wirkich was du haben willst. Mach doch mal ein Datenbeispiel mit Tabellen. So in der Art:
Das hab ich:
Code:
Tabelle mitarbeiter
id | firma_id | name
--------------------
1  | 1        | MA1
2  | 1        | MA2
3  | 2        | MA3

Tabelle Firma
id | name
---------------------
1  | firma1
2  | firma2

Nun will ich wissen, welche Firma wieviele Mitarbeiter hat. Das soll dann so aussehen
Code:
firma_id | firma_name | anzahl_mitarbeiter
------------------------------------------
1        | firma1     | 2
2        | firma3     | 1
 
Hallo und sorry,

war dienstlich unterwegs.

Ich will es mal so sagen :

Die beiden habe ich :

Tabelle 1 (BG):

BaugruppeTeil ATeil BTeil CTeil D
BGRP ACPURAMCoolerPlanar

Tabelle 2 (VBR):

TeilVerbrauch
RAM4
CPU3
Cooler15
Planar7

Und diese Tabelle möchte ich erstellen :

Tabelle 3 (VBE):

BaugruppeTeil AVerbrauchTeil BVerbrauchTeil CVerbrauchTeil DVerbrauch
BGRP ACPU3RAM4Cooler15Planar7

Ich hoffe, dass ich mich jetzt etwas verständlicher ausgedrückt habe.

Ich bin für jede Hilfe dankbar !
Gruß Robbeck
 
Und woher soll man wissen Welcher Verbrauch zu welcher Baugruppe gehört?
Deine Tabellen haben kaum Verknüpfungen untereinander, bzw wenn, dann sind diese redundant = sinnlos.
 
Hallo alxy,

erst einmal vielen Dank für die schnelle Antwort !

In jeder Baugruppe sind verschiedene Teile, ich habe mich da wohl undeutlich ausgedrückt.

Hier noch einmal deutlicher, wie dies aussehen soll :

Tabelle 1 (BG):

BaugruppeTeil ATeil BTeil CTeil D
BGRP ACPU_1RAM_1Cooler_1Planar_1
BGRP BCPU_2RAM_2Cooler_2Planar_2

Tabelle 2 (VBR):

TeilVerbrauch
RAM_14
CPU_13
Cooler_115
Planar_17
RAM_210
CPU_224
Cooler_216
Planar_28

Und diese Tabelle möchte ich erstellen :

Tabelle 3 (VBE):

BaugruppeTeil AVerbrauchTeil BVerbrauchTeil CVerbrauchTeil DVerbrauch
BGRP ACPU_13RAM_14Cooler_115Planar_17
BGRP BCPU_224RAM_210Cooler_216Planar_28

Wie immer bin ich für jede Hilfe dankbar !
Gruß Robbeck
 
Du musst vbr 4 mal mittels LEFT JOIN anbinden
SQL:
SELECT
	bg.baugruppe,
	bg.teil_a,
	v_a.verbrauch AS verbrauch_a,
	bg.teil_b,
	v_b.verbrauch AS verbrauch_b,
	bg.teil_c,
	v_c.verbrauch AS verbrauch_c,
	bg.teil_d,
	v_d.verbrauch AS verbrauch_d,
FROM
	bg
	LEFT JOIN vbr v_a ON bg.teil_a = v_a.teil
	LEFT JOIN vbr v_b ON bg.teil_b = v_b.teil
	LEFT JOIN vbr v_c ON bg.teil_c = v_c.teil
	LEFT JOIN vbr v_d ON bg.teil_d = v_d.teil
 
Zuletzt bearbeitet von einem Moderator:
Erst einmal danke !

Dies habe ich schon versucht, leider schlägt es wegen Zeitüberschreitung fehl. Die Tabellen sind wohl zu groß.

Gruß Robbeck
 
Zurück