Autor Zpráva
_fantomas
Profil
Ahoj, mám problém alebo teda neviem ako vôbec spojiť data z dvoch tabuliek do jednej.
Mam tabulku users
v ktorej su stlpce

id,username,password,email,permissions,datereg

Potom mam tabulku users_activity
v ktorej su stlpce

username,lastlogin,status

Potrebujem do jednej premmenej v ktorej su data z tabulky users vložit data aj z tabulky users_activity ak je v oboch to iste (username)

Ako by prosim vas malo vyzerat SQL? čital som niečo o INNER, LEFT, RIGHT JOIN ... ale nikdy sa mi to nepodarilo dat dohromady. Vdaka.
pcmanik
Profil
_fantomas:
Očividne neukladáš loginy užívateľov, ale čas ich posledného prihlásenia, tak načo to máš v druhej tabuľke?
Tabuľky sa prepájajú cudzími kľúčami. Ty žiadny nemáš.

SQL pre tvoju aktuálne tabuľky bude vyzerať takto:

SELECT *
FROM users u
JOIN users_activity a ON a.username = u.username
_fantomas
Profil
a to "a" a "u" je ako co?
pcmanik
Profil
_fantomas:
To sú aliasy pre tabuľku aby si nemusel písať users_activity.username = users.username
Keeehi
Profil
pcmanik:
Problém je, že takto to vynechá všechny uživatele, kteří se nikdy nepřihlásili.

_fantomas:
Proto před JOIN přidej ještě LEFT.
pcmanik
Profil
Keeehi:
Z tohoto som pochopil, že ich chce spojiť, len ak sú v obidvoch.
Potrebujem do jednej premmenej v ktorej su data z tabulky users vložit data aj z tabulky users_activity ak je v oboch to iste (username)
Keeehi
Profil
pcmanik:
Potrebujem do jednej premmenej v ktorej su data z tabulky users vložit data aj z tabulky users_activity ak je v oboch to iste (username)
Podle toho soudím, že už prostý SELECT všech uživatelů iž měl a teď to chce rozšířit o další dostupná data.

I když ani jedno naše řešení nebude správné. I když to _fantomas nenapsal, nejspíše ho bude pro každého uživatele zajímat maximálně jeden poslední záznam z users_activity. Takhle mu to každého uživatele s několika záznamy ve výpisu několikrát zduplikuje.
_fantomas
Profil
No, nedarí sa mi to spojiť ani vašimi príkladmi a asi bude najrozumejšie to posledne prihlasenie rovno uložit do users a bude to všetko v jednom. Vdaka.
pcmanik
Profil
_fantomas:
Vypisuje ti to nejakú chybu? Alebo aký je problém?
Keeehi
Profil
_fantomas:
asi bude najrozumejšie to posledne prihlasenie rovno uložit do users a bude to všetko v jednom.
Nejrozumnější to nebude. Přijdeš o spoustu zajímavých dat.

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: