Pergunta : Pergunta do SQL para dar a porcentagem de clientes da cor

Eu preciso de criar uma pergunta para retornar o número e a porcentagem dos clientes totais que tiveram um serviço da cor em uma base de dados da posição para um salão de beleza do hairdressing. Os dados estão na tabela de encabeçamento da venda: salehdr e as linhas tabela da venda: saleline. São lig pelo campo do salehdrID, com esse aos muitos relacionamento. Os serviços da cor são saleline.categoryID=3. Pode haver mais de um registro do saleline com o categoryID=3 para cada registro do salehdr mas nesse caso precisa de contar como 1, não o número de registros do saleline. Também, algumas vendas que não tiverem nenhum serviço: somente o catedoryID = 7 não deve ser incluído em resultados de all.
The precisa de ser agrupado por salehdr.stylistname, para dar a contagem e a porcentagem do total para cada estilista, assim como para o macacão. Isto pode estar na mesma pergunta ou dois a necessidade separada de queries.
I de poder filtrar por salehdr.saledate para dar resultados para um dia do lingle ou um range.

I tem somente o conhecimento básico do SQL assim que eu estou esperando que há um perito que possa help.

class= do

Resposta : Pergunta do SQL para dar a porcentagem de clientes da cor

Isso agrupou-os somente pela venda (não obstante artigos da venda).
Estes grupos pela pessoa das vendas
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
selecionar tot.stylistname,
  CONTAR (col.salehdrID) como CountColour,
  CONTAR (tot.salehdrID) como CountTotal,
  1.0 * CONTA) (de col.salehdrID/CONTAGEM (tot.salehdrID) como PercentageColour
de (
selecionar h2.stylistname distinto, h2.salehdrID
do salehdr h2
interno juntar-se ao saleline l2 em l2.salehdrID = h2.salehdrID
onde l2.categoryID7<>
e h2.saledate no meio [começo do relatório] e [extremidade do relatório]
) o pequeno deixado junta-se (
selecionar h1.stylistname distinto, h1.salehdrID
do salehdr h1
interno juntar-se ao saleline l1 em l1.salehdrID = h1.salehdrID
onde l1.categoryID=3
e h1.saledate no meio [começo do relatório] e [extremidade do relatório]
) coluna em tot.stylistname=col.stylistname e em tot.salehdrID=col.salehdrID
Grupo por tot.stylistname
Outras soluções  
 
programming4us programming4us