Autor | Zpráva | ||
---|---|---|---|
sony Profil * |
#1 · Zasláno: 18. 11. 2013, 01:55:01
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 |
#2 · Zasláno: 18. 11. 2013, 02:14:00
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 * |
#3 · Zasláno: 18. 11. 2013, 02:17:26 · Upravil/a: sony
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 * |
#4 · Zasláno: 18. 11. 2013, 04:06:45 · Upravil/a: sony
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 * |
#5 · Zasláno: 18. 11. 2013, 05:24:10
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 |
#6 · Zasláno: 18. 11. 2013, 06:42:08
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 * |
#7 · Zasláno: 18. 11. 2013, 09:57:42
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
|
||
Časová prodleva: 10 let
|
0