Autor Zpráva
Uno
Profil *
zdravíčko, mám v mysql databázi dvě tabulky:

tabulka uzivatele

-id- -jmeno-
1     Martin
2     Honza

tabulka zpravy

-od- -pro- -zapis-
1     2        nazdar



Nyní provedu výběr z db pomocí následujícího dotazu:

SELECT u.id, u.jmeno, z.od, z.pro, z.zapis FROM uzivatele u, zpravy z WHERE u.id = z.od


Teď když provedu normálně výpis cyklem while tak budu moct vypsat
OD: echo $vypis->jmeno
Zpráva: echo $vypis->zapis
Pro: echo $vypis->pro

což mi vypíše
OD: Martin
Zpráva: nazdar
Pro: 2

... v dotazu sem si tedy v tabulce kde jsou zprávy, pomocí id odesílatele našel jeho jméno v první tabulce komu to id patří a mohl jeho jméno vypsat

a teď dotaz: Jak můžu v tom stejném dotazu zařídit, abych mohl vypsat i jméno příjemce? tedy jméno toho kdo se skrývá ve sloupečku PRO pod id 2?

díky za rady
Taps
Profil
Uno
můžeš to zkusit nějak takto
select u.id, u.jmeno,z.od,z.pro,z.zapis from uzivatele u 
left join zpravy z on u.id=z.od
left join zpravy z2 on u.id=z2.pro
Uno
Profil *
Super díky, to je ono.


Ještě poslední dotaz:

Jak by měl vypadat dotaz který by z druhé tabulky vymazal vymazal všechny zprávy které mají id odesilatele který nemá v první tabulce jméno..

zkusil sem:

DELETE FROM zpravy WHERE (SELECT jmeno FROM uzivatele WHERE id = od) = ""

takže ta podnímka WHERE v sub dotazu má id z té tabulky uživatele a od z tabulky zprávy... ale zdá se že si mysql myslí že ten sloupec OD má také hledat v tabulce uživatelé takže to nefunguje, jak tedy na to? 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: