Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Problem z konstrukcją zapytania Mysql
krzesik
post
Post #1





Grupa: Zarejestrowani
Postów: 516
Pomógł: 1
Dołączył: 25.08.2012

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Tomplus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


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.
Go to the top of the page
+Quote Post
krzesik
post
Post #3





Grupa: Zarejestrowani
Postów: 516
Pomógł: 1
Dołączył: 25.08.2012

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


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

Ten post edytował krzesik 6.09.2015, 16:17:33
Go to the top of the page
+Quote Post
markuz
post
Post #4





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


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ć).

Ten post edytował markuz 6.09.2015, 18:37:10


--------------------
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #5





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


  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
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 Aktualny czas: 19.08.2025 - 14:23