Usuário com melhor resposta
instrução sql

Pergunta
-
Respostas
-
Bom Dia,
É realmente uma pena que você não tenha em mãos o 2005. O recurso de pivot citado pelo Roberto em conjunto com as CTEs seria muito bom para esse tipo de situação. Segue uma solução 2000 based.
Code SnippetCREATE
TABLE tblClientes (Cliente INT, Marca CHAR(1))INSERT
INTO tblClientes VALUES (1,'A')INSERT
INTO tblClientes VALUES (1,'B')INSERT
INTO tblClientes VALUES (2,'A')INSERT
INTO tblClientes VALUES (3,'B')SELECT
DISTINCT Cliente,FROM
tblClientes
DROP
TABLE tblClientes[ ]s,
Gustavo
Todas as Respostas
-
-
-
-
-
-
-
Carlos,
Você pode utilizar PIVOT TABLE se você estiver utilizando o SQL Server 2005.
Dê uma olhada neste outro post:
http://forums.microsoft.com/msdn-br/ShowPost.aspx?PostID=1381625&SiteID=21
-
Bom Dia,
É realmente uma pena que você não tenha em mãos o 2005. O recurso de pivot citado pelo Roberto em conjunto com as CTEs seria muito bom para esse tipo de situação. Segue uma solução 2000 based.
Code SnippetCREATE
TABLE tblClientes (Cliente INT, Marca CHAR(1))INSERT
INTO tblClientes VALUES (1,'A')INSERT
INTO tblClientes VALUES (1,'B')INSERT
INTO tblClientes VALUES (2,'A')INSERT
INTO tblClientes VALUES (3,'B')SELECT
DISTINCT Cliente,FROM
tblClientes
DROP
TABLE tblClientes[ ]s,
Gustavo
-
show gustavo, atendeu as minhas necessidades.
só quero tirar uma dúvida, existe como fazer isso sem eu usar o Count TInt.Marca = 'A', ou seja, estou informando os produtos que desejo para agrupar da maneira que pedi, isso porque são poucos produtos.
E quando houver uma lista de 30 produtos, existe como eu fazer para trazer dessa forma sem a necessidade de informar qual o produto?
abs
Carlos
-
Olá Carlos,
Infelizmente não. O SQL Server (no 2005 inclusive) só permite que você faça o Pivot se você conhecer previamente a lista das colunas. Se você necessitar de fazer uma consulta dessas sem passar a lista de produtos, você terá que usar uma SQL dinâmica. No 2005 isso ficou menos difícil, mas a SQL dinâmica ainda é necessária.
Tente utilizar recursos de aplicação para fazer isso como a tabela dinâmica do Excel.
Em breve (em algum momento do segundo semestre) farei uma apresentação sobre consultas não triviais usando o TSQL. Esse tipo de pivoteamento é uma das que pretendo abordar. Quando estiver pronta eu aviso aqui no fórum.
[ ]s,
Gustavo