Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] problem z zapytaniem
Forum PHP.pl > Forum > Bazy danych > MySQL
dino6213221
Witam. Mam trzy tabele:

  1. Referaty:
  2.  
  3. idr idu Tytul Autorzy zgłoszony
  4. 10 2 Analiza Świerk, P 11.5.10 7:59:00
  5. 11 2 Wpływ z Świerk 11.5.15 12:30:07
  6. 12 1 Atrybuty Nowak, S 11.5.18 14:54:34
  7.  
  8.  
  9. Czynnosci:
  10.  
  11. idc Nazwa
  12. 1 Współautor
  13. 2 Recenzent
  14. 3 Edytor
  15. 4 Organizator
  16.  
  17.  
  18. Uprawnienia:
  19.  
  20. idr idu idc typ_dok nr_dok
  21. 10 21 1 null null
  22. 10 3 2 null null
  23. 10 1 2 7 10
  24. 11 3 2 7 14
  25. 11 7 3 null null
  26. 12 24 1 null null


Jak napisać zapytanie które zrobi zestawienie wszystkich referatów (Tytuł, Autorzy, Współautorów, Recenzentów) z liczbą przydzielonych współautorów oraz liczbą przydzielonych recenzentów. Wynikiem tego zapytania ma być jedna tabela podobna do poniższej

  1. Zestawienie:
  2. Tytul Autorzy Współautorów Recenzentów
  3. Analiza Świerk, P 1 2
  4. Wpływ z Świerk 0* 1
  5. Atrybuty Nowak, S 1 0*
dmateo
Korzystajac z zapytania stworzysz zblizona strukture:

  1. SELECT Tytul, Autorzy, Uprawnienia.idc AS Typ, SUM(*) AS Ilosc
  2. FROM Referaty, Uprawnienia
  3. WHERE Referaty.idr=Uprawnienia.idr
  4. AND Referaty.idu=Uprawnienia.idu
  5. GROUP BY Tytul, Autorzy, Uprawnienia.idc


Będzie to wyglądało:

  1. Tytul Autorzy Typ Ilosc
  2. ---------------------------------------------------------------------------
  3. Analiza Świerk, P 1 1
  4. Analiza Świerk, P 2 2


Natomiast zeby uzyskac dokladnie taka sama strukture, mozna skorzystac z tabeli tymczasowej (CREATE TEMPORARY TABLE), wydaje mi sie ze MySQL nie obsluguje tabeli przestawnej (PIVOT TABLE)
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.