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
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
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: