2016-04-15 4 views
0

Unser Produkt passt ein oder mehrere Modelle mehrerer Marken.MySQL innere Abfrage

Ich möchte eine Liste von Modellen einer benutzerdefinierten Marke erstellen, die zu einem einzelnen Produkt passt.

SELECT ml.laser, pm.pistol_model_brand, pm.pistol_model_name 
FROM pistol_model as pm 
INNER JOIN model_laser as ml 
ON pm.pistol_model_id = ml.model_id 
WHERE pm.pistol_brand_id = :pistol_brand_id AND ml.laser LIKE 'GTO%' 
ORDER BY ml.laser 

Die Ergebnisse (3 Spalten) zeigen unser Produkt, Marke, Modell. Von hier möchte ich, wenn möglich, eine Liste dieser Modelle erstellen, die zu unserem Produkt passen.

Nachdem ich zu viele Stunden gekämpft habe, bin ich mir nicht sicher, ob das möglich ist oder ob ich meine Tabellen rekonstruieren muss.

Jede Hilfe wird geschätzt. Vielen Dank.

Antwort

0

Ich würde eine Überprüfung Ihrer Logik für die erste Join-Bedingung empfehlen. Ist die Pistolenmodell-ID wirklich die gleiche wie die Lasermodell-ID?

SELECT 
    ml.laser 
    ,pm.pistol_model_brand 
    ,pm.pistol_model_name 
FROM pistol_model as pm 
INNER JOIN model_laser as ml 
ON pm.pistol_model_id = ml.model_id 
and pm.pistol_brand_id = ml.pistol_brand_id 
WHERE 
    ml.laser LIKE 'GTO%' 
ORDER BY 
    ml.laser 
+0

Danke. Ja, sie sind gleich. Abfrage funktioniert. Ich muss lernen, ob ich alle Pistolenmodelle zu unserem Lasermodell bringen kann. – JimB814