mySQL: Mit einem Sub-Select mehrere Werte bekommen
bearbeitet von LinuchsHallo MudGuard
> Spontan würde ich sagen: statt sub-select mit join arbeiten.
Join begrenzen? Ich greife die Idee gerne auf, recherchiere und stoße zu [dieser Raterunde](https://stackoverflow.com/questions/3348705/how-to-limit-results-of-a-left-join). Rate mit, experimentiere zweieinhalb Stunden und komme nicht zum Ziel.
Die beiden gesuchten Werte titel und url sind *NULL*
~~~sql
LEFT JOIN
(
SELECT
adress_id
,titel
,url
FROM ".$db[0]['medien']."
WHERE erreichbar_kz = 1 -- Medium muss erreichbar sein
AND LOWER( url ) LIKE '%.mp3'
#AND adress_id = adr1.id
ORDER BY RAND()
LIMIT 1
) med1
ON med1.adress_id = adr1.id
~~~
Ich denke, wenn ich **vor** dem Abgleich mit adr1.id die Treffer (alle möglichen mp3-Dateien) auf 1 beschränke, ist sehr unwahrscheinlich, dass der zum Mitglied adr1 passt.
Nehme ich den Abgleich in die Klammer, kommt der Fehler `1054: Unknown column 'adr1.id' in 'where clause'`
Linuchs
mySQL: Mit einem Sub-Select mehrere Werte bekommen
bearbeitet von LinuchsHallo MudGuard
> Spontan würde ich sagen: statt sub-select mit join arbeiten.
Join begrenzen? Ich greife die Idee gerne auf, recherchiere und stoße zu [dieser Raterunde](https://stackoverflow.com/questions/3348705/how-to-limit-results-of-a-left-join). Rate mit, experimentiere zweieinhalb Stunden und komme nicht zum Ziel.
Die beiden gesuchten Werte titel und url sind *NULL*
~~~sql
LEFT JOIN
(
SELECT
adress_id
,titel
,url
FROM ".$db[0]['medien']."
WHERE erreichbar_kz = 1 -- Medium muss erreichbar sein
AND LOWER( url ) LIKE '%.mp3'
#AND adress_id = adr1.id
ORDER BY RAND()
LIMIT 1
) med1
ON med1.adress_id = adr1.id
~~~
Ich denke, wenn ich **vor** dem Abgleich mit adr1.id die Treffer auf 1 beschränke, ist der Gesuchte kaum dabei.
Nehme ich den Abgleich in die Klammer, kommt der Fehler `1054: Unknown column 'adr1.id' in 'where clause'`
Linuchs