Autor | Zpráva | ||
---|---|---|---|
breeta Profil |
Mám sql dotaz viz níže připojený na tabulku concert_place vše jde pokud je záznam ceny ale pokud není nevrátí to záznam z concert_place.
Neví někdo jak to ošetřit, nebo napsat ten dotaz jinak? LEFT JOIN concert_place_price ON concert_place_price.concert_place_id=concert_place.id WHERE concert_place_price.price = (SELECT MIN(price) FROM concert_place_price WHERE concert_place_id = concert_place.id) |
||
Kajman Profil |
#2 · Zasláno: 17. 11. 2016, 16:31:38
Místo where použijte opět left join na stejné místo s větší cenou a ve where omezte na řádky, které se nepodařilo takto připojit - tedy nějaký sloupec z primárnīho klíče je null.
|
||
breeta Profil |
#3 · Zasláno: 17. 11. 2016, 17:01:18
Už jsem na to došel:
LEFT JOIN concert_place_price ON concert_place_price.concert_place_id=concert_place.id AND concert_place_price.price = (SELECT MIN(price) FROM concert_place_price WHERE concert_place_id = concert_place.id ) už jsem to tak měl napsaný ale nevšiml jsem si co jsem měl za tím, tak to vracelo co nemělo: AND místo WHERE concert_text.locale = ? AND concert_place_text.locale = ? AND year(concert_place.date) >= ? díky |
||
Časová prodleva: 8 let
|
0