Autor Zpráva
sony
Profil *
Zdravím, mám dotaz do db, ale nevím jak získat údaj do podmínky. Můžu to udělat do vytvořeného pole, ale chtěl by sem se vyhnout prasárnám a udělat to nějak důstojně. Tedy pokud to jde. Můj problém je, že potřebuji získat data do podmínek ze dvou tabulek.

$query = mysql_query("SELECT mail FROM user WHERE id IN (SELECT DISTINCT id_user FROM uzivatele WHERE id_uzivatele='".$vys["id"]."') AND (SELECT upozorneni FROM user_dodatek WHERE id_user=id_user) = 1");

Výsledek první podmínky potřebuji dostat do druhé podmínky. Ví prosím někdo jak toho dosáhnout aby sem nemusel dávat do pole podminku a zase vytvářet další pole pro konečný výpis? Děkuju
Alphard
Profil
Ty dva poddotazy by šlo snadno joinem spojit do jednoho.
Obecněji nevím, v jakém vztahu je user a uzivatele, jestli by nebylo lepší jít na to přes spojování celkově. Poddotaz bude zřejmě lepší, kdyby vracel jen málo výsledků a na jejich základě se filtrovala velká tabulka.
sony
Profil *
Už jsem to vyřešil pomocí spojování tabulek. Příklad: tabulka.id a tabulka2.uzivatel. Poslední době jsem s sql dotazy moc nepracoval, tak jsem na tohle úplně zapoměl.


Tak to bylo předčasný. Pořá ělám něke chybu.
$query = mysql_query("SELECT mail FROM user WHERE id IN (SELECT id_user FROM uzivatele,user_dodatek WHERE uzivatele.id_uzivatele='".$vys["id"]."' AND user_dodatek.upozorneni='1')");
sony
Profil *
Zkusil jsem všechno a nic nefunguje. Tak děkuju, ale hold to budu muset udělat prasácky.


Už jsem to vyřešil be prasáren :-)
Děkuju za rady
sony
Profil *
Tak to pořád není. Je tu někdo doopravdy dobrej kdo by to zvládnul a byl by ochotnej mi stím pomoct pomocí tTeamVeawer? Děkuju předem. Vždy když si myslím, že to mám, tak zjistím, že jsem jen vkruhu. Určitě mi tam chybí jen nějaká maličkost, ale furt se tam jen motám.
Kajman
Profil
V [#3] chybí nejspíše podmínka spojující správné řádky mezi tabulkami uzivatele a user_dodatek.

Jde to zapsat i jen spojením tabulek... něco jako
SELECT us.mail
FROM   user us
       JOIN uzivatele uz
         ON us.id = uz.id_user
       JOIN user_dodatek d
         ON uz.id_user = d.id_user
WHERE  uz.id_uzivatele = '$id'
       AND d.upozorneni = 1  
sony
Profil *
Děkuju moc. Tentokrát jsem to otestoval poctivě a fakt to přesně maká. Hlavní je, že ten dotaz není moc náročnej a fakt skvěle funkční. Člověk se učí selej život a já mám pořád co dohánět. Velké a upřímné díky Kajmane

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:

0