Questione : Domanda di SQL per dare percentuale dei clienti di colore

Devo generare una domanda per restituire il numero e la percentuale dei clienti totali che hanno avuti un servizio di colore in una base di dati di posizione per un salone di lavoro di parrucchiere. I dati sono nella tabella di intestazione di vendita: salehdr e le linee tabella di vendita: saleline. Sono collegati dal campo del salehdrID, con quello ai molti rapporto. I servizi di colore sono saleline.categoryID=3. Ci può essere più di un'annotazione di saleline con categoryID=3 per ogni annotazione del salehdr ma in quel caso deve contare come 1, non il numero delle annotazioni di saleline. Inoltre, qualsiasi vendite che non hanno servizi: soltanto il catedoryID = 7 non dovrebbe essere incluso ai risultati di all.
The deve essere raggruppato da salehdr.stylistname, per dare il conteggio e la percentuale del totale per ogni stilista, così come per il camice. Ciò può essere nella stessa domanda o due la necessità separata di queries.
I di potere filtrare da salehdr.saledate per fornire risultati per un giorno del lingle o un range.

I ha soltanto conoscenza fondamentale di SQL in modo da sto sperando che ci sia un esperto che può help.

class= del

Risposta : Domanda di SQL per dare percentuale dei clienti di colore

Quello li ha raggruppati soltanto dalla vendita (senza riguardo agli articoli di vendita).
Questi gruppi dalla persona di vendite
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
selezionare tot.stylistname,
  CONTARE (col.salehdrID) come CountColour,
  CONTARE (tot.salehdrID) come CountTotal,
  1.0 * CONTANO)/CONTEGGIO (tot.salehdrID) (di col.salehdrID come PercentageColour
da (
selezionare h2.stylistname distinto, h2.salehdrID
da salehdr h2
interno unire il saleline l2 su l2.salehdrID = h2.salehdrID
dove l2.categoryID7<>
e h2.saledate in mezzo [inizio di rapporto] e [estremità di rapporto]
) il bimbetto lasciato si unisce (
selezionare h1.stylistname distinto, h1.salehdrID
da salehdr h1
interno unire il saleline l1 su l1.salehdrID = h1.salehdrID
dove l1.categoryID=3
e h1.saledate in mezzo [inizio di rapporto] e [estremità di rapporto]
) colonna su tot.stylistname=col.stylistname e su tot.salehdrID=col.salehdrID
Gruppo da tot.stylistname
Altre soluzioni  
 
programming4us programming4us