Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]Pobieranie danych z dwóch tabel
Forum PHP.pl > Forum > Przedszkole
i105n2k
Witam,

mam dwie tabele,

Tab 1. Grupa

id|kierownik|koordynator
-----------------------------
1 |1 | 2

oraz

Tab2. Pracownicy

id|Imię|Nazwisko
--------------------
1|Jan |Kowalski
2|Zbigniew|Nowak

grupa.kierownik to oczywiście pracownicy.id tak samo grupa.koordynator. Jak ułożyć zapytanie żeby na podstawie danychz tabeli grupa wyjąć imiona i nazwiska odpowiednich pracowników?
Pyton_000
  1. [SELECT u1.imie, u2.imie FROM grupa g JOIN pracownik u1 ON(u1.id = g.kierownik) JOIN pracownik u2 ON(u2.id = g.koordynator)
ZaXaZ
  1. SELECT p.Imię, p.Nazwisko, p.id, g.kierownik, g.koordynator FROM `Pracownicy` AS p INNER JOIN `Grupa` AS g ON g.id=p.id

Po select definiujesz z jakiej tabeli i co wybrać.
i105n2k
Cytat(Pyton_000 @ 4.09.2014, 18:45:46 ) *
  1. [SELECT u1.imie, u2.imie FROM grupa g JOIN pracownik u1 ON(u1.id = g.kierownik) JOIN pracownik u2 ON(u2.id = g.koordynator)


Niestety to nie jest to co chciałem otrzymać.
http://sqlfiddle.com/#!2/875c93/1/0

Docelowo chciałbym otrzymać tabelkę Grupa gdzie zamiast cyfr są imiona i nazwiska

Mam to

id|kierownik|koordynator
-----------------------------
1 |1 | 2

id|Imię|Nazwisko
--------------------
1|Jan |Kowalski
2|Zbigniew|Nowak


A chciałbym to:

id|kierownik|koordynator
-----------------------------
1 |Jan Kowalski | Zbigniew Nowak
nospor
Toz dostales odpowiedz..... A jak chcesz miec imie i nazwisko w jednej kolumnie to uzyj CONCAT...
i105n2k
Zapytanie w SQL Fiddle zwraca 1 element, jest to imię kierownika a co z nazwiskiem i danymi koordynatora?
Pyton_000
doda 'as koordynator' do 1-szego pola
nospor
Dopisz sobie kolumny ktore chcesz wyswietlac to je bedzieszz mial.... mysql w myslach ci nie czyta.....

chcesz nazwisko? To dopisz obok imienia...
select u1.imie, u1.nazwisko
analogicznie inne kolumny

ps: i tak jak napisal Pyton: nie mogą dwie kolumny miec takiej samej nazwy. Jak chcesz je odroznic to jedna musi miec inny alias

ps2: skoro grupa_kierownik oraz grypa_koordynator to ID ludkow, to pola te mają miec typ INT a nie VARCHAR.
i105n2k
Cytat(Pyton_000 @ 5.09.2014, 09:21:16 ) *
doda 'as koordynator' do 1-szego pola


Działa smile.gif Dzięki za pomoc i podpowiedzi do googlowania
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.