2016-11-02 4 views
0

Derzeit auf der Frage oben stecken, erzeugt der Code, den ich verwende, derzeit die richtige Antwort, aber ich bekomme die "Ihre Abfrage gab den richtigen Datensatz auf der ersten (verfügbaren) Datenbank zurück , aber es hat ein falsches Dataset in der zweiten Prüfdatenbank zurückgegeben. " Botschaft. Unten ist das, was ich verwende:Sql-ex.ru - Übung 23

SELECT DISTINCT a.maker 
FROM (
SELECT maker, product.model 
FROM product 
JOIN pc 
ON product.model=pc.model 
WHERE pc.speed>=750 
) AS a 
LEFT JOIN (
SELECT maker, product.model 
FROM product 
JOIN laptop 
ON product.model=laptop.model 
WHERE laptop.speed>=750 
) AS b 
ON a.model=b.model 

Die Frage ist: die Macher Holen beiden PCs mit einer Geschwindigkeit von 750 MHz oder höher und Laptops mit einer Geschwindigkeit von 750 MHz oder höher zu erzeugen. Ich schließe zwei Tabellen an, die die Produkte enthalten, nach denen ich suche, und gebe sie als Maker aus. Wieso sagt es mir, dass es falsch ist?

Antwort

0

Dies funktioniert für mich:

SELECT Product.maker 
FROM Product 
INNER JOIN PC 
ON Product.model = PC.model 
WHERE PC.speed>=750 
INTERSECT 
SELECT Product.maker 
FROM Product 
INNER JOIN Laptop 
ON Product.model = Laptop.model 
WHERE Laptop.speed>=750