Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL]Zapytanie dla 2 tablic
Forum PHP.pl > Forum > Bazy danych > MySQL
Misiek92
Witam..

Czy coś takiego może działać?
  1. SELECT podstrony.* FROM podstrony LEFT JOIN accounts ON accounts.userid = podstrony.autorid WHERE podstrony.subpageid = '".$id."'


Posiadam 2 tabele

Pierwsza podstrony

subapgeid| tytul |autorid |data |text

1 |Tytuł podstrony |1 | 2010-01-09 |tekst podstrony

druga accounts

userid|name |password|position|
1 |misiek |.... | ...

chce zrobić tak żeby przy wyświetlaniu podstrony automatycznie przypisywało do autorid z tabeli pierwszej, name z tabeli 2 i wyświetlić to lecz niemoge poradzić sobie z zapytaniem..
wlamywacz
  1. SELECT p.*, a.`name` AS `user` FROM `podstrony` p LEFT JOIN `accounts` a ON p.`autorid` = a.`userid`

Poza tym używa się nazewnictwa polskiego lub angielskiego, nie powinno się mieszać terminów języka polskiego z angielskim.
Misiek92
Co do nazewnictwa pozmieniam wszystko na angielski jak będzie już działać, jak zastosować warunek WHERE do tego zapytania jeżeli chodzi nam o dana podstrone, i co oznaczaja "p" "a" w twoim zapytaniu?
wlamywacz
"p" to alias do tabeli podstrony a "a" to alias do tabeli accounts. Jeśli chcesz zrobić np. warunek podstrona o subapgeid = 1
  1. SELECT p.*, a.`name` AS `user` FROM `podstrony` AS p LEFT JOIN `accounts` AS a ON p.`autorid` = a.`userid` WHERE p.`subapgeid` = 1

Aliasy stosuje, aby nie pisać za każdym razem całej nazywa tabeli.
Misiek92
Niby, działa tylko jak teraz wyświetlić ten name ? wrzuciłem zapytanie w tablice assoc.. pod nazwa $rekord i tera echo $rekord['name'] zwraca pustke sad.gif

Ok poradziłem sobie nie zauważyłem że jest allias name as user wielkie dzieki ! leci pomógł
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.