Cuestión : Pregunta del SQL para dar el porcentaje de los clientes del color

Necesito crear una pregunta para volver el número y el porcentaje de los clientes totales que tenían un servicio del color en una base de datos de la posición para un salón de la peluquería. Los datos están en la tabla de jefe de la venta: salehdr y las líneas tabla de la venta: saleline. Son ligados por el campo del salehdrID, a el que está a muchos relación. Los servicios del color son saleline.categoryID=3. Puede haber más de un expediente del saleline con categoryID=3 para cada expediente del salehdr pero en ese caso necesita contar como 1, no el número de expedientes del saleline. También, cuaesquiera ventas que no tengan ningún servicio: solamente el catedoryID = 7 no debe ser incluido en los resultados de all.
The necesita ser agrupado por salehdr.stylistname, para dar cuenta y el porcentaje del total para cada estilista, así como para el guardapolvo. Esto puede estar en la misma pregunta o dos la necesidad separada de queries.
I de poder filtrar por salehdr.saledate para dar los resultados para un día o un range.

I del lingle tiene solamente conocimiento básico del SQL así que estoy esperando que hay un experto que puede help.

class= del

Respuesta : Pregunta del SQL para dar el porcentaje de los clientes del color

Eso los agrupó solamente por venta (sin importar artículos de la venta).
Estos grupos de la persona de las ventas
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
seleccionar tot.stylistname,
  CONTAR (col.salehdrID) como CountColour,
  CONTAR (tot.salehdrID) como CountTotal,
  1.0 * CUENTA ()/CUENTA (tot.salehdrID) de col.salehdrID como PercentageColour
de (
seleccionar h2.stylistname distinto, h2.salehdrID
del salehdr h2
interno ensamblar el saleline l2 en l2.salehdrID = h2.salehdrID
donde l2.categoryID7<>
y h2.saledate en medio [comienzo del informe] y [extremo del informe]
) el bebé dejado ensambla (
seleccionar h1.stylistname distinto, h1.salehdrID
del salehdr h1
interno ensamblar el saleline l1 en l1.salehdrID = h1.salehdrID
donde l1.categoryID=3
y h1.saledate en medio [comienzo del informe] y [extremo del informe]
) columna en tot.stylistname=col.stylistname y tot.salehdrID=col.salehdrID
Grupo por tot.stylistname
Otras soluciones  
 
programming4us programming4us