4 Stimmen

MySQL Auslöser. Brauchen Beispielantworten

Ich versuche, die Hersteller von Produkten zu finden, die nur Laptops herstellen und keine PCs

Beziehungen:
Product(Hersteller, Modell, Typ)
Laptop(Modell, Preis, Geschwindigkeit, RAM, Festplatte, Bildschirm)
PC(Modell, Preis, Geschwindigkeit, RAM, Festplatte)
Drucker(Modell, Preis, Farbe, Preis)

Was ich versucht habe

 (SELECT Hersteller, Typ 
 FROM Produkt WHERE Typ = 'Laptop') 
 DIFFERENCE 
 (SELECT Hersteller, Typ 
 FROM Produkt WHERE Typ = 'PC');

Annehme, es gibt keine DIFFERENCE-Operation in MySQL?

2voto

Michael Fredrickson Punkte 36194
WÄHLE
    p1.hersteller,
    p1.typ
VON
    produkt p1
    LINKS JOIN produkt p2 ON p2.hersteller = p1.hersteller UND p2.typ = 'pc'
WO
    p1.typ = 'laptop'
    p2.hersteller IST NULL

1voto

Victor Nițu Punkte 1477

SELECT maker, type FROM product WHERE type = 'laptop' AND type != 'pc';

1voto

kasavbere Punkte 5771
select maker, type from product 
where type='laptop' and
maker not in (select maker from product where type = 'pc')

0voto

Victor Nițu Punkte 1477
SELECT `hersteller`, `typ` FROM `produkt` WHERE `typ` = 'laptop' AND `hersteller` NOT IN
                 (SELECT `hersteller`, `typ` FROM `produkt` WHERE `typ` = 'pc');

-1voto

max_ Punkte 23457
SELECT p.maker, p.type 
    FROM product p 
    WHERE p.type = 'laptop' 
    AND NOT EXISTS ( 
        SELECT p2.maker, p2.type 
        FROM table p2 
        WHERE p2.type = 'pc' 
        AND p2.maker = p1.maker
    )

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X