Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

SQL Anweisung

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von studi, 13 April 2013.

  1. studi

    studi Benutzer

    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
     
  2. akretschmer

    akretschmer Datenbank-Guru

    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
     
    studi gefällt das.
  3. crashfinger

    crashfinger Benutzer

    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))
     
  4. ukulele

    ukulele Datenbank-Guru

    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
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden