Autor Zpráva
whoami
Profil
Zdravím.. nevím jak přesně podat to co mám v hlavě.. ale pokusím se o to..

Zrovna pracuji s velkou mysql db která obsahuje hodně provázání jednotlivých tabulek křížem krážem.. Kromě jednoduchých spojení jako je například..:

Tabulka.: "uživatelé"
id
username
password

Tabulka "obrázky uživatelů"
id
user (foreign key -> uživatelé.id)
file

které v případě jeden obrázek na uživatele provedu pomocí left join a záskám jednu tabulku (id, username, password, file)..

Zajímalo by mě jak to na db vrstvě udělat pokud mám například k jednomu uživateli v tabulce "obrázky uživatelů" neznámí počet řádků odkazujících na uživatele.. Lze toto něak použitelně získat jedním dotazem..? Jediné co mě napadá je nějakým způsobem do cílového výsledku přidat sloupeček se soubory oddělenými čárkami..

A z tohoto důvodu se chci zeptat jestli není někdo kdo by mě odkázal správným směrem..

Velice děkuji..

PS.: uvádím na jednoduchém příkladu který by se dal v php pomocí dvou sql volání získat (při znalosti id uživatele si stáhnu jeho řádek z tabulky uživatelé a všechny řádky z tabulky obrázky).. jenže v mém případě a s takovým počtem pod-vnořených tabulek je sql volání příliš mnoho..
mimochodec
Profil
whoami:
které v případě jeden obrázek na uživatele provedu pomocí left join a záskám jednu tabulku (id, username, password, file)..

které v případě libovolný počet obrázků na uživatele provedeš úplně stejně. Takže obrázky získáš jedním dotazem. (jestli správně chápu tvůj popis)
Tori
Profil
whoami:
To pokaždé potřebujete všechna data uživatele naráz, anebo jsou stránky, kde potřebujete jen některá data? Pokud to druhé, tak bych to nějak logicky rozdělila do funkcí podle toho, co je potřeba (základní údaje o uživateli, veřejný profil, soukromé zprávy, obrázky, ...), a pak některé z nich zabalila dohromady
getCompleteUserDate($userId)  {
  $data = array();
  $data['profil'] = getUserProfile($userId);
  $data['obrazky'] = getUserImages($userId);
  // ... atd.
  return $data;
}
whoami
Profil
mimochodec:
Ano.. to je sice pravda ale pak mi vznikne několik duplicitních řádků (id, username, password, file) ve kterých je jediné rozdílné pole "file".. Než toto tak je lepší si zvlášť stáhnout uživatele a zvlášť obrázky..
Kajman
Profil
whoami:
Možná pro vás bude přínosné porovnání.
http://php.vrana.cz/srovnani-dotazu-do-zavislych-tabulek.php

A doporučuji tam prokliknout i ten odkaz přesunout do knihovny.

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