Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Łączenie 3 tabel
visarc
post 20.05.2010, 23:39:44
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.04.2010

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


Mam 3 tabele:

subs
- id
- email

subs_tab1
- id
- subs_id
- name

subs_tab2
- id
- subs_id
- name

I chciałbym uzyskać efekt:
  1. ------------------------------------------------------
  2. subs.id | subs.mail | subs_tab1.id | subs_tab2.id
  3. ------------------------------------------------------
  4. 1 asd@mail.com 12 11
  5. 2 mail@mail.com 11 15
  6. 2 mail@mail.com 2 12
  7. 2 mail@mail.com 6 18
  8. 2 mail@mail.com 18
  9. 2 mail@mail.com 28
  10.  
  11. ewentualnie wykorzystując group_concat (?)
  12. 1 asd@mail.com 12 11
  13. 2 mail@mail.com 11, 2, 6, 18 15, 12, 18, 28

Czy da się to zrobić w 1 zapytaniu?

Ten post edytował visarc 20.05.2010, 23:42:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
exood
post 21.05.2010, 10:32:08
Post #2





Grupa: Zarejestrowani
Postów: 86
Pomógł: 16
Dołączył: 2.12.2009
Skąd: Płock/Warszawa

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


  1. SELECT s.id AS id, s.mail AS mail, s1.id AS subs_tab1_id, s2.id AS subs_tab2_id FROM subs AS s INNER JOIN subs_tab1 AS s1 ON s.id = s1.subs_id INNER JOIN subs_tab2 AS s2 ON s.id = s2.subs_id
Go to the top of the page
+Quote Post
visarc
post 21.05.2010, 11:22:57
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.04.2010

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


Niestety, tak już próbowałem na samym początku i chyba nie oto mi chodzi. smile.gif
Przykładowo jak mam
subs 1 rekord
subs_tab1 27 rekordów
subs_tab2 20 rekordów
to wywala mi 540 rekordów, bo wypisuje wszystkie kombinacje subs_tab1 i subs_tab2, a chciałbym uzyskać jedynie 27 rekordów.

Dostaje coś takiego:
  1. ------------------------------------------------------
  2. subs.id | subs.mail | subs_tab1.id | subs_tab2.id
  3. ------------------------------------------------------
  4. 2 mail@mail.com 11 15
  5. 2 mail@mail.com 11 11
  6. 2 mail@mail.com 11 16
  7. 2 mail@mail.com 11 12
  8. 2 mail@mail.com 11 19
  9. 2 mail@mail.com 9 2
  10. 2 mail@mail.com 9 4
  11. 2 mail@mail.com 9 7
  12. 2 mail@mail.com 4 28
  13. ...
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: 24.07.2025 - 16:42