Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Problem z konstrukcją zapytania Mysql
Forum PHP.pl > Forum > Przedszkole
krzesik
Witam, mam problem z napisaniem zapytania do bazy, proszę o pomoc

mam takie rekordy w bazie


IMIE | NAZWISKO | CO | ILE

Adam | Kowalski | but | 1
Marek | Adamczyk | kapeć | 2
Adam | Kowalski | but | 4
Marek | Adamczyk | kapeć | 2
Adam | Kowalski | but | 4
Marek | Adamczyk | kapeć | 2


potrzebuję wyciągnąć dane do tabeli w postaci:

IMIE | NAZWISKO | BUT | KAPEĆ

Adam | Kowalski | 9 | 0
Marek | Adamczyk | 0 | 6
Tomplus
trochę bez sensu chcesz mieć wyniki, bo po pierwsze powinieneś mieć najlepiej unikatowy rekord dla każdej osoby aby Adam Kowalski z Warszawy, nie mylił ci się z Adamem Kowalskim z Krakowa.

Nie przypominam sobie aby było możliwe stworzenie nazwy kolumny na podstawie wartości wiersza w MySQL.
krzesik
Oczywistym jest że dla każdego rekordu mam w bazie ID_REK, ale nie tego dotyczyło moje pytanie, no chyba że jak już wiesz że mam w każdym rekordzie identyfikator to już wiesz jak mi pomóc? businesssmiley.png
Uprzejmie prosze o odpowiedzi w temacie pytania.
Na tę chwilę zrobiłem nagłówek tabeli

  1. <table border="1">
  2. <tr>
  3. <th>L.p.</th>
  4. <th>Nazwisko i Imię</th>
  5. <?
  6.  
  7. while($nt=mysql_fetch_array($result2)) //pętla wyciągająca jako distinct pole "co"
  8. {
  9. echo '<th>'.$nt['co'].'</th>';
  10. }
  11. ?>
  12. <th>Suma</th>
  13. </tr>
  14. <?


tylko nie wiem co dalej.......sad.gif
markuz
Twoja tabela nie spełnia podstawowych zasad budowy bazy danych.
Powinno to wyglądać w ten sposób:

osoby
- id
- imie
- nazwisko

ubrania
- id
- nazwa

ubrania_osoby
- id_osoby
- id_ubrania
- ilosc

Wtedy zapytanie mogło by wyglądać tak:

  1. SELECT osoby.imie, osoby.nazwisko, ubrania.nazwa, SUM(ubrania_osoby.ilosc) FROM osoby JOIN ubrania_osoby ON ubrania_osoby.id_osoby = osoby.id JOIN ubrania ON ubrania.id = ubrania_osoby.id_ubrania GROUP BY ubrania.id


Jeżeli chcesz odpowiedź na twoje pytanie - nie da się wyciągnąć danych w ten sposób z twojej tabeli (przynajmniej z tego co wiem, jednak mogę się mylić).
mmmmmmm
  1. SELECT imie, nazwisko, SUM(Case when co='BUT' then ile end) BUT, sum(Case When co='KAPEĆ' then ile end) FROM tabela GROUP BY imie, nazwisko
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.