Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: scalanie danych
Forum PHP.pl > Forum > Bazy danych > MySQL
agataperz
Witam,

mam takie zapytanie w bazie danych:

  1. SELECT * FROM grafik INNER JOIN job_grafik_obraz USING (zmiana) WHERE DATA BETWEEN '".date('Y-m-d')."' AND '".$dataplus."' AND zatw='tak' ORDER BY DATA DESC


co daje:


zmiana id_grafiku id data zatw id 0600 0700 0800 0900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200 2300 0000
1 746 40 2015-01-20 tak 1 x x x x x x x x
3 800 39 2015-01-20 tak 3 x x x x x x
1 745 40 2015-01-19 tak 1 x x x x x x x x
3 799 39 2015-01-19 tak 3 x x x x x x
5 792 39 2015-01-18 tak 5 x x x x x x x x x x
6 744 40 2015-01-18 tak 6

a ja bym chciała uzyskać taki efekt:


zmiana id_grafiku id data zatw id 0600 0700 0800 0900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200 2300 0000
1 746 40 2015-01-20 tak 1 x x x x x x x x x x x x x x
1 745 40 2015-01-19 tak 1 x x x x x x x x x x x x x x
1 792 39 2015-01-18 tak 5 x x x x x x x x x x


Jakiej komendy / konstrukcji zapytania powinnam użyć?
Pyton_000
Taki czyli jaki? Bo ja tu nie wiem co chcesz osiągnąć smile.gif
agataperz
baza wygląda tak:



a chcę osiagnąć taki efekt dla kolumn 0600, 0700 ..... 2100, 2200, 2300:

trueblue
Puste wartości to NULL czy puste stringi?

Jeśli NULL:
  1. SELECT inne_pola,IF(COUNT(`0600`)>=1,'x','') AS `0600`,IF(COUNT(`0700`)>=1,'x','') AS `0700` FROM tabela GROUP BY DATA

Jeśli puste stringi lub NULL
  1. SELECT inne_pola,IF(COUNT(NULLIF(`0600`,''))>=1,'x','') AS `0600`,IF(COUNT(NULLIF(`0700`,''))>=1,'x','') AS `0700` FROM tabela GROUP BY DATA


Lub niezależnie:
  1. SELECT inne_pola,SUBSTRING(GROUP_CONCAT(`0600` SEPARATOR ''),1,1) AS `0600`,SUBSTRING(GROUP_CONCAT(`0700` SEPARATOR ''),1,1) AS `0700` FROM tabela GROUP BY DATA
agataperz
puste stringi
trueblue
j.w.
agataperz
Boże - myślałam że jedną komendą uda się zamknąć temat smile.gif

Dziekuję o to chodziło.
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.