Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Hurtownie danych - zapytania - potrzebna pomoc
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
murek5
Witam wszystkich!
Bardzo proszę o pomoc tutaj, bo nigdzie nie mogę znaleźć odpowiedzi na nurtujące mnie pytanie: czym się różnią zapytania do zwykłej bazy od zapytań do hurtowni danych?

Potrzebuje przekształcić poniższe zapytania na zapytania do hurtowni danych (chodzi mi tylko i wyłącznie o to, aby te zapytania wyglądały jakby były zapytaniami do hurtowni, nie musi to działać biggrin.gif, powinno wyglądać wink.gif ):

  1. SELECT COUNT( * ) , okreg.region, IF( SUBSTRING( klient.data_plec, 4, 2 ) <13, "K", "M" )
  2. AS plec
  3. FROM klient, okreg
  4. WHERE okreg.kod = klient.kod
  5. GROUP BY region, plec
  6. INTO OUTFILE 'D:/zadanie1.csv'
  7. FIELDS TERMINATED BY ';'
  8. LINES TERMINATED BY '\n'

  1. SELECT ROUND( COUNT( * ) / ( SELECT COUNT( * ) FROM transakcja ) *100, 2 )
  2. AS "proc udzial transakcji", DAYNAME( DATA )
  3. AS "w dniu", ROUND( (COUNT( * ) / ( SELECT COUNT( * )
  4. FROM transakcja ) *100 ) -100 /7, 2) AS "odchylenie od sredniej"
  5. FROM transakcja
  6. GROUP BY DAYNAME( DATA )
  7. LIMIT 0 , 30

  1. SELECT operacja AS "typ operacji", ROUND( COUNT( * ) / ( SELECT COUNT( * )
  2. FROM transakcja ) *100, 2 ) AS "proc udzial transakcji", DAYNAME( DATA )
  3. AS "w dniu", ROUND( (COUNT( * ) / ( SELECT COUNT( * )
  4. FROM transakcja ) *100 ) -100 / ( (SELECT COUNT( DISTINCT (operacja) )
  5. FROM transakcja ) *7), 2) AS "odchylenie od sredniej"
  6. FROM transakcja GROUP BY operacja, DAYNAME( DATA )

  1. SELECT concat(floor((year(now()) - year(IF(substring(klient.data_plec, 3, 2) > 12, klient.data_plec-5000, klient.data_plec)+19000000))/10)*10,'-',floor((year(now()) - year(IF(substring(klient.data_plec, 3, 2) > 12, klient.data_plec-5000, klient.data_plec)+19000000))/10)*10+9)
  2. AS zakres, monthname(IF(substring(klient.data_plec, 3, 2) > 12, klient.data_plec-5000, klient.data_plec)+1900000)
  3. AS miesiac, round(avg(transakcja.kwota),2)
  4. AS "srednia kwota wszystkich transakcji w miesiacu"
  5. FROM klient, dysponuje, transakcja
  6. WHERE klient.idK=dysponuje.idK
  7. AND dysponuje.nrR=transakcja.nrR
  8. GROUP BY zakres, miesiac;

  1. SELECT year(transakcja.DATA)
  2. AS rok, quarter(transakcja.DATA)
  3. AS kwartyl,sum(transakcja.kwota)
  4. AS "suma transakcji w kwartylu dla przedzialu wiekowego 50-59"
  5. FROM klient, dysponuje, transakcja
  6. WHERE klient.idK=dysponuje.idK
  7. AND dysponuje.nrR=transakcja.nrR
  8. AND quarter(transakcja.DATA) != 4
  9. AND year(now()) - year(IF(substring(klient.data_plec, 3, 2) > 12, data_plec-5000, klient.data_plec)+19000000)
  10. BETWEEN 50 AND 59
  11. GROUP BY rok, kwartyl


Bardzo proszę o pomoc odnośnie różnic między zapytaniami do hurtowni a do bazy, oraz ewentualnie o pomoc w przekształceniu powyższych.
memory
jakiej hurtowni?
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-2024 Invision Power Services, Inc.