Pytanie : SQL Zapytanie odsetek colour klient

I potrzebować zapytanie the liczba i odsetek sumaryczny klient który miewać colour usługa w POS baza danych dla fryzjerstwo salon. The dane być w the sprzedaż chodnikowiec stół: salehdr i the sprzedaż linia stół: saleline. Łączyć the salehdrID pole, z jeden wiele związek. The colour usługa być Saleline.categoryID=3. Tam  móc więcej niż jeden saleline rejestr z categoryID=3 dla niż salehdr rejestr ale w ten skrzynka ono potrzebować jako (1), nie the liczba saleline rejestr. Także, jakaś sprzedaż który mieć żadny usługa: tylko catedoryID = 7 musieć 7 przy all.
The rezultat potrzeba grupować salehdr.stylistname, obliczenie i odsetek suma dla grupować stylista, zarówno jak i dla kombinezon. />
móc w the ten sam zapytanie lub dwa oddzielny queries.
I potrzeba sprawnie salehdr.saledate rezultat dla lingle dzień lub range.

I mieć tylko podstawowy SQL wiedza więc I mieć nadzieję tam  być ekspert który móc help.

Odpowiedź : SQL Zapytanie odsetek colour klient

Ten jedyny zgrupowany sprzedaż (niezależnie od sprzedaż rzecz).
Osoba grupa sprzedaż osoba
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
wybrany tot.stylistname,
  LICZYĆ (col.salehdrID) jako CountColour,
  LICZYĆ (tot.salehdrID) jako CountTotal,
  1.0 * LICZYĆ (col.salehdrID)/OBLICZENIE (tot.salehdrID) jako PercentageColour
od (
wybrany odrębny h2.stylistname, h2.salehdrID
od salehdr h2
wewnętrzny łączyć saleline l2 na l2.salehdrID = h2.salehdrID
dokąd l2.categoryID7<>
i h2.saledate pośrodku [Raportowy Początek] i [Raportowy Końcówka]
) duduś opuszczać łączyć (
wybrany odrębny h1.stylistname, h1.salehdrID
od salehdr h1
wewnętrzny łączyć saleline l1 na l1.salehdrID = h1.salehdrID
dokąd l1.categoryID=3
i h1.saledate pośrodku [Raportowy Początek] i [Raportowy Końcówka]
) col na tot.stylistname=col.stylistname i tot.salehdrID=col.salehdrID
Grupa tot.stylistname
Inne rozwiązania  
 
programming4us programming4us