Autor Zpráva
Bublino
Profil *
Ahojte, mám dve tabuľky: konverzacie a správy. Potrebujem vytiahnuť všetky konverzácie, kde autor = 'nickname' a zároveň by som chcel mať v danom resultsete aj príslušnú najnovšiu správu(teda jej text a čas pridania...) pre každú jednotlivú konverzáciu. Samotnú najnovšiu správu by som riešil nasledovne: "SELECT s.text, s.stamp FROM spravy s WHERE konvId = ID ORDER BY cas DESC LIMIT 1"... Ako to prepojiť do subselectu s query, ktorý vytiahne konverzácie pre daného užívateľa?("SELECT k.* FROM konverzacie k WHERE autor = NICKNAME")...? Vďaka. Ešte doplním prepojenie medzi konverzacie a spravy - k.id = spravy.konvId. Ďakujem vopred :o)
123456789
Profil *
Vnitřní spojení znáš? Kde je tedy problém? Jednoduše bych dané dvě tabulky spojil vnitřním spojením, seřadil dle data a omezil klauzulí limit. V podstatě to máš hotové, jen ty tabulky spoj, pokud to neumíš, tak si o tom přečti nějaký článek na internetu, bude se ti to hodit.
Kajman_
Profil *
123456789:
Kdepak tohle nebude tak jednoduché.

Bublino:
Na to bude asi třeba upravit dotaz na "Nalezení řádků s maximální (minimální) hodnotou" (podle kategorií) z faq. Jen to bude trošku zkomplikované, tím spojením a také asi tím, že se může stát, že cas nemusí být jedinečný - tady by bylo asi rychlejší použít id, kdyby platilo, že větší id zprávy znamená novější zprávu.

Ono by se to dalo napsat asi i přes korelovaný poddotaz, když by platilo, že se poslední zpráva bude hledat pro malou množinu konverzací. To by pak bylo snad něco blízkého jako "Nalezení posledních pěti článků z každé kategorie"

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