SQL Anweisung

studi

Benutzer
Beiträge
11
Ich habe folgende Aufgabe bekommen und finde leider keine Lösung, kann mir jmd. helfen?

Artikel

A_Nr A_Name Farbe Gewicht kg Lagerort
A1 Pumpe grün 5 Werk A
A2 Schlauch schwarz 0,2 Werk A
A3 Pool blau 100 Werk B
A4 Holzrahmen Tweak 10 Werk C

Ermittel die Namen und Lagerorte aller Artikel deren Lagerorte mit min. einem anderem Artikel übereinstimmt.

Vielen Dank im Voraus
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.028
Ermittel die Namen und Lagerorte aller Artikel deren Lagerorte mit min. einem anderem Artikel übereinstimmt.

Vielen Dank im Voraus

Code:
test=*# select * from studi ;
 artikel | lagerort
---------+----------
       2 | A
       3 | B
       4 | C
       1 | A
(4 rows)

Time: 0,148 ms
test=*# select * from studi where lagerort in (select lagerort from studi group by lagerort having count(1) > 1);
 artikel | lagerort
---------+----------
       2 | A
       1 | A
(2 rows)

Andreas
 

crashfinger

Benutzer
Beiträge
5
Die wortgetreue Lösung würde so aussehen:
Code:
SELECT A_Name, Lagerort
FROM   Artikel
WHERE  Lagerort in (SELECT Lagerort FROM Artikel GROUP BY Lagerort HAVING (COUNT(*) > 1))
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.394
Und eventuell
Code:
SELECT a1.A_Name, a1.Lagerort
FROM  Artikel a1
WHERE  (    SELECT    count(a2.Lagerort)
            FROM    Artikel a2
            WHERE    a2.lagerort = a1.Lagerort ) > 1
 
Oben