Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MySQL Łączenie kilka tabel + wyświetlenie
Forum PHP.pl > Forum > Bazy danych > MySQL
NowyPhpowiec
Witam,

mam pewne pytanie wątpliwość dotyczącą połączenia kilku tabel, a mianowicie:

Baza Danych:

tabela1
tabela2
tabela3

tabela1 zawiera: id, name, id2,
tabela2 zawiera: id, name, cos_tam
tabela3 zawiera: id, cos_tam2, imie_nazwisko


chciałbym zrobić zapytanie sql które połączy mi te 3 tabele - nie jest to problem dość proste. Problem zaczyna się wtedy gdy chcę wyświetlić name z tabeli 1 oraz name z tabeli 2(name z tabeli 1 zawiera coś innego niż name z tabeli2 - ale noszą tą samą nazwę kolumny )

Czy mógłby kotś napisać przykładowe zapytanie które połączy mi te 3 tabele oraz prezentacje kodu php dzięki któremu będę mógł wyswietlić name z tabeli1 oraz name z tabeli 2 ?

dzięki!
mmmmmmm
Słowo klucz na dziś to: ALIAS
NowyPhpowiec
Dzięki, ale czy mógłbyś coś więcej pomóc ? np przykładowe zastosowanie aliasu dla przykładu z pierwszego postu ?smile.gif
maniekl2
Pokaż jak narazie wygląda Twoje zapytanie.
NowyPhpowiec
SELECT * FROM tabela1 tab1 JOIN tabela2 tab2 ON tab2.id=tab1.id JOIN tabela3 tab3 ON tab3.id=tab2.id
maniekl2
Przykładowo pobranie 2 name
  1. SELECT tab1.name AS name1, tab2.name AS name2 FROM tabela1 tab1 JOIN tabela2 tab2 ON tab2.id=tab1.id JOIN tabela3 tab3 ON tab3.id=tab2.id
NowyPhpowiec
Dzięki smile.gif A może będziesz wiedział jak jeszcze zrobić takie coś: w ostatniej tabeli jest kilkadziesiąt wpisów dla danych użytkowników. Chciałbym teraz zgrupować wpisy dla danego użytkownika, a następnie wyświetlić ostatni rekord z (cos_tam2) - do tabeli została dodana jeszcze pomocnicza kolumna o nazwie xxx gdzie są wpisy 0 oraz 1. Chciałbym również aby przed zgrupowaniem zostały wybrane rekordy ze statusem 0(z kolumny xxx). Dzięki i pozdrawiam

SELECT tab1.name AS name1, tab2.name AS name2 FROM tabela1 tab1 JOIN tabela2 tab2 ON tab2.id=tab1.id JOIN tabela3 tab3 ON tab3.id=tab2.id WHERE xxx=0 GROUP BY tab3.id ORDER BY tab3.cos_tam2 DESC LIMIT 1

tylkoto nie działa tak jak powinno. Po większych przemyśleniach to nie chciałbym tylko wyświetlić ostatni wpis z coś_tam2 ale również z imie_nazwisko

moze ktoś pomóc ?smile.gif

pozdrawiam
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-2025 Invision Power Services, Inc.