Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> MySQL Łączenie kilka tabel + wyświetlenie
NowyPhpowiec
post 27.09.2013, 21:29:21
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.09.2013

Ostrzeżenie: (0%)
-----


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!
Go to the top of the page
+Quote Post
mmmmmmm
post 27.09.2013, 23:14:06
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Słowo klucz na dziś to: ALIAS
Go to the top of the page
+Quote Post
NowyPhpowiec
post 28.09.2013, 08:41:29
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.09.2013

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
maniekl2
post 28.09.2013, 09:49:14
Post #4





Grupa: Zarejestrowani
Postów: 162
Pomógł: 29
Dołączył: 6.04.2008

Ostrzeżenie: (0%)
-----


Pokaż jak narazie wygląda Twoje zapytanie.
Go to the top of the page
+Quote Post
NowyPhpowiec
post 28.09.2013, 10:18:55
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.09.2013

Ostrzeżenie: (0%)
-----


SELECT * FROM tabela1 tab1 JOIN tabela2 tab2 ON tab2.id=tab1.id JOIN tabela3 tab3 ON tab3.id=tab2.id
Go to the top of the page
+Quote Post
maniekl2
post 28.09.2013, 14:06:27
Post #6





Grupa: Zarejestrowani
Postów: 162
Pomógł: 29
Dołączył: 6.04.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
NowyPhpowiec
post 29.09.2013, 11:03:36
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.09.2013

Ostrzeżenie: (0%)
-----


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

Ten post edytował NowyPhpowiec 28.09.2013, 20:39:58
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 4.05.2025 - 08:08