| Autor | Zpráva | ||
|---|---|---|---|
| sqll Profil * |
#1 · Zasláno: 22. 4. 2011, 14:04:33
jde udelat tohle?
prvni tabulka table1id | jmeno ------------------------ 1 | pepa druha tabulka table1id | key | value -------------------------- 1 | prijmeni | novak 1 | vek | 20 1 | jazyk | cs jde nejak vybrat data z techto dvou tabulek tak abych dostal nasledujici pole hodnot: jmeno => pepa, prijmeni => novak, vek => 20, jazyk => cs predem diky |
||
| Kajman_ Profil * |
#2 · Zasláno: 22. 4. 2011, 14:06:23
Můžete např. třikrát připojit druhou tabulku.
|
||
| sqll Profil * |
#3 · Zasláno: 22. 4. 2011, 14:13:38
mohl bych poprosit o ukazku nebo odkazjak na to?
|
||
| Kajman_ Profil * |
#4 · Zasláno: 22. 4. 2011, 14:17:51
select pt.jmeno, d1.value prijmeni, d2.value vek from ptabulka as pt left join dtabulka as d1 on pt.table1id=d1.table1id and d1.key='prijmeni' left join dtabulka as d2 on pt.table1id=d2.table1id and d2.key='vek' |
||
| sqll Profil * |
#5 · Zasláno: 22. 4. 2011, 14:22:16
aha a kdyz dopredu nevim ktera key budou pouzita? tzn jednou bude v druhe tabulce 5veci podruhe deset a pokazde mohou byt uplne jina.
|
||
| Kajman_ Profil * |
#6 · Zasláno: 22. 4. 2011, 14:26:38
Tak to takhle nejde, použijte dotaz na druhou tabulku, kdy se vrátí více řádků. A pole si vytvořte až v aplikaci.
|
||
| sqll Profil * |
#7 · Zasláno: 22. 4. 2011, 14:33:05
dekuji za radu. nebyl jsem si jisty jestli to treba nejak nejde uz na urovni db.
|
||
| TomášK Profil |
#8 · Zasláno: 22. 4. 2011, 15:39:48 · Upravil/a: TomášK
Na úrovni databáze to myslím jde pomocí procedury a prepared statement, ale dost možná je jednodušší dělat to a v aplikaci.
edit: nejsem si jistý, v jakém stadiu je v mysql vracení result setu z procedur, mám pocit, že už to fungovalo |
||
|
Časová prodleva: 15 let
|
|||
0