Autor Zpráva
sqll
Profil *
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 *
Můžete např. třikrát připojit druhou tabulku.
sqll
Profil *
mohl bych poprosit o ukazku nebo odkazjak na to?
Kajman_
Profil *
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 *
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 *
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 *
dekuji za radu. nebyl jsem si jisty jestli to treba nejak nejde uz na urovni db.
TomášK
Profil
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

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: