• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Wie benutze ich das Ergebnis einer Subquery als Bedingung für die primäre Query?

Tabula_Rasa

Mitglied
Hallo zusammen,

ich habe folgende Query:
SQL:
select type, lid from Profiles where lid_P=${profile.lid} and type_P='${profile.type}'; // kann zwischen 1-50 Ergebnisse enthalten

Jetzt müsste ich das Ergebnis nehmen also type und lid, um in einer anderen Tabelle nach Einträgen zu suchen:
Code:
select * from an where type=type and lid=lid;
// wobei lid und type die Resultate der vorigen Query sind

Letzten Endes möchte ich nur das Ergebnis der zweiten Query. Kann ich die Queries irgendwie kombinieren, sodass ich direkt das gewünschte Ergebnis bekomme, ohne weitere Abfragen starten zu müssen?
 
Du kannst in SQL über SELECT Abfragen, temporäre Tabellen anlegen und diese dann weiter verwenden.

Diese Subqueries kannst du in deinem Fall in der FROM Klausel verwenden.
Dabei musst du auf 2 Dinge achten:
1. Die Subquery steht in Runde Klammern.
2. Der Subquery bekommt immer einen Namen über einen Alias.

Dann kannst du auch mit Hilfe des Namens als Prefix auf die Werte der temporären Tabelle zugreifen.

Vom Schema her sieht das dann so aus.
SQL:
SELECT sub_query_name.*
FROM (
SELECT col1, col2,
FROM `test`
WHERE `test`.`col1`= 'my_val'
) as sub_query_name
WHERE sub_query_name.col1 = 'test'
 
Zurück
Oben