Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zapytanie "left join"
pablooo3
post 12.02.2007, 16:45:20
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 26.07.2005

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


Poniżej przedstawiam mój problem z zapytaniem (na prostym przykladzie):

tabela1
----------
id | name
----------
1 | pawel
2 | marek
3 | darek

tabela2
---------------------------------
id | id_name | id_name2 | koniec |
----------------------------------
1 |....... 1..... |.... 2.......|.... tak...
2 |....... 2 .....|.....3.......|.....nie...


Wyswietlic w zapytaniu (np. left join) wszystkie rekordy z tabela2, gdzie koniec='tak' i zamiast id_name i id_name2 wstawic imiona z tabela1.

ps. id_name i id_name2, zawieraja id imion z tabela1.

dla powyzszego przykladu wynik:
1,pawel,marek,tak

Wielkie dzieki za pomoc:)

Ten post edytował pablooo3 12.02.2007, 17:13:20
Go to the top of the page
+Quote Post
sticker
post 12.02.2007, 18:04:17
Post #2





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


moze to coś pomoze ale nie testowałem
  1. SELECT A1.name, A2.name FROM tabela2 LEFT JOIN tabela1 A1 ON id_name = A1.id
  2. LEFT JOIN tabela1 A2 ON id_name2 = A2.id
  3. WHERE koniec ='tak'


Ten post edytował sticker 12.02.2007, 18:05:09


--------------------
Go to the top of the page
+Quote Post
pablooo3
post 12.02.2007, 19:43:27
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 26.07.2005

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


super własnie o takie zapytanie mi chodzilo, dziala elegancko. Mam tylko jeszcze jedno pytanie. Jak wykonuje to zapytanie co mi napisales:
  1. <?php
  2. $sel = mysql_query("SELECT A1.name, A2.name FROM tabela2 LEFT JOIN tabela1 A1 ON id_name = A1.i
  3. LEFT JOIN tabela1 A2 ON id_name2 = A2.id 
  4. WHERE koniec ='tak'");
  5. ?>

i chce wyswietlic wynik w skrypcie php, w taki sposob:
  1. <?php
  2. while($rek1 = mysql_fetch_array($sel)){
  3.  echo $rek1['name']."<br>";
  4. }
  5. ?>

to jak mam zrobic, aby rozróżnic to name A1 i A2 z zapyatanie, bo nie moge użyc niczego takiego jak $rek1['A1.name'] i $rek1['A2.name'] , wlasnie tu mam zonka.

Wielkie dzieki za tamta pomoc i z gory dziekuje za ta.

Ten post edytował Cienki1980 12.02.2007, 19:53:37
Go to the top of the page
+Quote Post
Cienki1980
post 12.02.2007, 19:54:45
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


wystarczy zrobić coś w tym stylu:
  1. SELECT a1.name AS name1, a2.name AS name2 FROM a1, a2


--------------------
404
Go to the top of the page
+Quote Post
pablooo3
post 12.02.2007, 20:00:38
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 26.07.2005

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


Super, teraz wszystko chodzi!! Jestescie wielcy, duzo sie mozna nauczyc na tym forum przez zadawanie pytań ludziom, którzy sie na tym naprawde znaja:)
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: 14.08.2025 - 03:43