Autor Zpráva
slon_cz
Profil
Zdravím, mám tabulku

autor, prijemce, obsah
test, test, dwdwdw
test1, test, 448465
test, test, wdwdwd
Našel jsem
select t1.autor, t1.prijemce, t1.obsah, t1.datum, t1.id from msg t1 inner join ( select MIN(autor) autor, prijemce from msg group by prijemce ) t2 on t1.autor = t2.autor and t1.prijemce = t2.prijemce

Ovšem nedaří se mi tam přidat podmínka aby to zároveň vypsalo ještě jen WHERE autor='test' OR prijemce='test'
Kajman
Profil
Ten dotaz nedává moc smysl. Zkuste popsat o co se snažíte místo toho, co nefunkčního jste našel.

Pokud chcete poslední zprávu pro/od každého protějžku uživatel test, mrkněte na
řazení záznamů uvnitř GROUP BY
slon_cz
Profil
Mám tabulku s názvem "msg" která obsahuje

autor | prijemce | obsah | date | id
test | test2 | wdwd | -!!- | 1
test3 | test1 | w1wd | -!!- | 2
test | test2 | wd4d | -!!- | 3
test | test3 | wdqd | -!!- | 4

A já pořebuji, aby pokud bude na webové stránce přihlášen uživatel "test" a pokud autor nebo prijemce se rovna "test", tak se mu vypíšou na stránce jeho záznamy:
test | test2 | wdwd | -!!- | 1
test | test3 | wdwd | -!!- | 4

a duplikovaný záznam

test | test2 | wd4d | -!!- | 3

už vypsán nebude
Hando
Profil
A čím se liší ten "duplikovaný" záznam od těch předchozích? Pouze obsahem zprávy? Tak není jak zjistit, že by zrovna on měl být ignorován, ne? Max. omezit počet vypisovaných podle data či id.
Podle příkladu se těžko odhaduje, jelikož test != test2 != test3.
Omezení na unikátní hodnoty lze vynutit pomocí DISTINCT, ale nejsem si jist, že je to v tomto případě správná cesta...
Kajman
Profil
Tak si upravte dotaz z odkazu a použijte min místo max, pokud chcete nejstarší zpråvu.
slon_cz
Profil
Ten kod z odkazu by fungoval, ovšem nadaří se mi doplnit stejné proměnné do toho, kdyby byl někdo tak hodný a doplnim mi to podle mé tabulky? Děkuji


ten duplikovany zaznam se muze lisit starim, ale take tim, ze autor nebo prijemce bude nekdo uplne jiny a proto to musi vypsat jen posledni zaznam kde autor nebo prijemce bude $user v promenne obsazen.


//VYŘEŠENO :)

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