Autor Zpráva
Marcus Flintus
Profil
čuste,
mam problem s jednim MySQL dotazem.


SELECT U.id AS id, U.nick AS nick, U.titul AS titul, U.jmeno AS jmeno, U.prijmeni AS prijmeni, U.stat AS stat, U.status AS status, L.date AS date, L.time AS time

FROM users AS U, logins AS L
WHERE L.id_user = U.id
ORDER BY U.id ASC, L.id DESC


a co já chci?
chci aby to prošlo tabulku "users" dle id ASC a ke každému řádku přiřadila do pole dle selectu řádek z tabulky logins s tím že patřičný řádek v tabulce logins nemusí existovat.
co to dělá teď?
ted to dělá přesně obráceně. prochází to tabulku logins a přiřazuje data z tabulky users :-(

pls poradte....
a btw. myslel jsem ze je podminka obracene ALE "WHERE L.id_user = U.id" se chová úplně stejně jako "WHERE U.id = L.id_user"
25k_tired
Profil *
LEFT JOIN
Marcus Flintus
Profil
zkusil jsem:

FROM users AS U LEFT JOIN logins AS L
ON U.id = L.id_user

jenže to mě projde všechny varianty. zkusim to zhruba načrtnout:
U.id|L.id
1|1
1|2
1|3
2|nic

já potřebuju pouze:
1|3
2|nic

tedy aby každé U.id bylo jen jednou a jemu byl přiřazen řádek z L kde L.id_user = U.id s tím že těch řádků v L může být víc. pak potřebuju ten s největším L.id
djlj
Profil
GROUP BY U.id
Marcus Flintus
Profil
Super, to je ONO!!!

mockrát díky :-)
Marcus Flintus
Profil
[pro zájemce]
SELECT U.id AS id, U.nick AS nick, U.titul AS titul, U.jmeno AS jmeno, U.prijmeni AS prijmeni, U.stat AS stat, U.status AS status, L.date AS date, L.time AS time

FROM users AS U LEFT JOIN logins AS L
ON U.id = L.id_user
GROUP BY U.id
ORDER BY U.id ASC, L.id DESC
Toto téma je uzamčeno. Odpověď nelze zaslat.

0