Select-Abfrage über zwei Tabellen, bestimmte Einträge ausblenden

Alde Oma

Neuer Benutzer
Beiträge
4
Hallo Zusammen,
ich habe eine Haupttabelle in der ich bestimmte Daten speichere.
DB_Übersicht.PNG
Nun nöchte ich mir über einen Befehl die Summe aller einzelnen Produkt ausgeben.
Das mache ich mit folgendem Befehl:
Code:
SELECT COUNT(T1.Produkt) AS Anzahl, T1.Produkt
FROM tbl_Stueckzahl AS T1
GROUP BY T1.Produkt
ORDER BY Anzahl DESC
Da kommt folgende Ausgabe raus:
Ausgabe_Anzahl.PNG
Soweit so gut. Ich habe aber noch eine zweite Tabelle, in der Produkte stehen, welche in der oben genannten Abfrage nicht berücksichtigt werden soll.
Tabelle_Ausblenden.PNG
Ich bekomme es aber nicht hin, dass die auszublendenden Produkte wirklich ausgeblendet werden.
Mein Ansatz war folgender:
Code:
SELECT COUNT(T1.Produkt) AS Anzahl, T1.Produkt
FROM tbl_Stueckzahl AS T1, tbl_Ausblenden AS T2
WHERE T1.Produkt <> T2.Nummer
GROUP BY T1.Produkt
ORDER BY Anzahl DESC
Hierbei erhalte ich aber nicht das zurück, was ich gerne hätte.
Ausgabe_Asugeblendet.PNG
Wie muss die Abfrage aussehen, damit die in Tabelle_Ausgeblendet stehenden Produkte in der Abfrage nicht angezeigt werden?
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.028
Code:
edb=# create table alde_oma(produkt int, anzahl int);
CREATE TABLE
edb=*# copy alde_oma from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself, or an EOF signal.
>> 1   5
>> 1   3
>> 1   4
>> 2   6
>> 2   3
>> 3   10
>> 3   5
>> \.
COPY 7
edb=*# create table exclude(id int);
CREATE TABLE
edb=*# copy exclude from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself, or an EOF signal.
>> 2
>> \.
COPY 1
edb=*#
edb=*#
edb=*# select produkt, sum(anzahl) from alde_oma group by produkt order by produkt;
 produkt | sum
---------+-----
       1 |  12
       2 |   9
       3 |  15
(3 rows)

edb=*# select produkt, sum(anzahl) from alde_oma where produkt not in (select id from exclude) group by produkt order by produkt;
 produkt | sum
---------+-----
       1 |  12
       3 |  15
(2 rows)

edb=*#
 
Werbung:

Alde Oma

Neuer Benutzer
Beiträge
4
Vielen Dank für die schnelle Antwort. Mit Not In hatte ich es auch bereits versucht aber nicht hinbekommen.
Jetzt funktioniert es. Top :)
 
Oben