Autor | Zpráva | ||
---|---|---|---|
Pavel015 Profil |
Dobrý den.
Prosím o radu ohledně SQL příkazu. . Mám 3 tabulky, které jsou znázorněny na obrázku. Potřebuji vytvořit něco jako "zeď", kde by příkaz vypsal postupně uložená data ze tří tabulek a seřadil je od nejnovětšího po nejstarší. Mohl byste mi, nějak, prosím, poradit? Sedím nad tím 3 hodiny a furt jsem na to nepřišel... Díky! |
||
tiso Profil |
#2 · Zasláno: 22. 10. 2015, 14:25:33
Ako má vyzerať výstup?
|
||
Pavel015 Profil |
#3 · Zasláno: 22. 10. 2015, 14:41:38
tiso:
Prostě výpis ze všech tabulek, ale řazeno dle toho, kdy to bylo přidáno. |
||
MartinP_ Profil * |
#4 · Zasláno: 22. 10. 2015, 15:30:19
Myslíš vypsat vše do jedné tabulky? Nebo do 3 různých?
|
||
tiso Profil |
#5 · Zasláno: 22. 10. 2015, 15:31:43
Tak použi UNION
|
||
Pavel015 Profil |
#6 · Zasláno: 22. 10. 2015, 15:39:49
MartinP:
Vypsat všechno ze 3 tabulek a seřadit podle tří časů a času aktuálního. Jedním příkazem. |
||
MartinP_ Profil * |
Něco takového:
SELECT * FROM (SELECT id, jmeno as data, cas_vlozeni FROM users UNION SELECT id, nazev as data, cas_vlozeni FROM aktuality UNION SELECT id, text as data, cas_vlozeni FROM zaznamy) ORDER BY cas_vlozeni DESC Možná to někam bude chtít přidat zpětné apostrofy ( ` )
|
||
Pavel015 Profil |
#8 · Zasláno: 22. 10. 2015, 15:48:17
MartinP:
#1248 - Every derived table must have its own alias |
||
MartinP_ Profil * |
#9 · Zasláno: 22. 10. 2015, 15:51:17
SELECT * FROM (SELECT id, jmeno as data, cas_vlozeni FROM users UNION SELECT id, nazev as data, cas_vlozeni FROM aktuality UNION SELECT id, `text` as data, cas_vlozeni FROM zaznamy) as vsechno ORDER BY vsechno.cas_vlozeni DESC |
||
Dusann Profil |
Pavel015:
„Mám 3 tabulky, které jsou znázorněny na obrázku. Potřebuji vytvořit něco jako "zeď", kde by příkaz vypsal postupně uložená data ze tří tabulek a seřadil je od nejnovětšího po nejstarší.“ „Prostě výpis ze všech tabulek, ale řazeno dle toho, kdy to bylo přidáno“ „Vypsat všechno ze 3 tabulek a seřadit podle tří časů a času aktuálního. Jedním příkazem.“ Z tvojho zadania mi nie je jasné, ako presne maju byť dáta zoskupené vo výslednej tabuľke. Ak chceš vo výslednej tabuľke najprv dáta radiť podľa toho do akej tabuľky patria a až potom radiť podľa času, tak použi: (SELECT id, jmeno as `data`, cas_vlozeni, 1 AS `tabulka` FROM users) UNION (SELECT *, 2 FROM aktuality) UNION (SELECT *, 3 FROM zaznamy) ORDER BY tabulka, cas_vlozeni DESC; Ak ti na zoskupení dát podľa tabuliek users, aktuality, zaznamy nezáleží, použi: (SELECT id, jmeno as `data`, cas_vlozeni FROM users) UNION (SELECT *, FROM zaznamy) UNION (SELECT *, FROM zaznamy) ORDER BY cas_vlozeni DESC; |
||
Časová prodleva: 9 let
|
0