Ok bo faktycznie user_name nie ma w bazie wyniki tylko jest user_id a user_name jest w bazie users. Poprawilem zatem zapytanie bpskiby na:
(SELECT w.user_name,IFNULL(u.user_id,'brak') FROM ".DB_WYNIKI." u LEFT JOIN ".DB_USERS." w USING(user_id) WHERE warunek=1 AND grupa_id=t1.grupa_id) AS abc
I tez wyskakuje
"Operand should contain 1 column(s)"
Sazian co robie zle skoro te zapytanie moze zwracac tylko 1 wynik, przy tych kryteriach nie moze byc w bazie wiecej wynikow. Wiec albo ten wynik jest wtedy powinno go wyswietlic albo go nie ma wiec wtedy chcialbym zeby wyswietlalo jakis zamienny tekst. Nie rozumiem jakie sa 2 kolumny? W tabelii kolumn jest wiele ale te zapytanie tyczy sie tylko jednej....
Tutaj musi byc cos nie tak z zapytaniem bo nawet jesli robie zapytanie dotyczace jednej kolumny to jakie where bym nie podal zawsze wyskakuje ten sam blad. Np podaje kryterium dla id wyniku=20 gdzie jest takie w bazie i powinno go wyswietlic to i tak wyskakuje blad. Podaje wynik_id=100 gdzie nie ma takiego wyniku i powinno wyswietlic zamienny tekst to tez ten sam blad...
(SELECT wynik, IFNULL(wynik,'brak') FROM ".DB_WYNIKI." WHERE wynik_id=20) AS zxc
Jak dla mnie poprawnie zrobione jest te zapytanie:
(SELECT IFNULL(wynik,'brak') FROM ".DB_WYNIKI." WHERE warunek=1 AND grupa_id=t1.grupa_id) AS zxc
Tylko ze ono zachowuje sie jak zwykle zapytanie bez IFNULL czyli jesli wynik o podanych kryteriach znajduje sie w bazie to go zwraca a jesli nie ma takiego rekordu w bazie to nic nie wyswietla a chce zeby wyswietlalo tekst BRAK ;/