FOR no SQL. É possivel? Veja Questão..
17/08/2009
0
tenho 2 tabelas relacionadas aqui: Grade (Grade_Id, FK_Fornecedor )
Item_Grade (Numero, Quantidade, FK GradeiD)
Quero fazer o seguinte:
Y = (SELECT DISTINCT Grade.GradeId FROM Grade WHERE ColaboradorId = ´2´)
OBS: isso me retornaria os valores de das grades. EX. 1,8,4
Depois para cada ocorrência(Y) acima, gostaria de selecionar:
SELECT item_grade.numero, item_grade.quantidade
FROM _Grade INNER JOIN _item_grade ON _Grade.GradeId = item_grade.GradeId
Where Grade.Fornecedor = X
AND Grade.GradeId = Item_grade.GradeId
AND GradeId = Y
Não sei como realizar esse procedimento.
É possivel usar um FOR no SQL?
Agradeço desde Já
Guilherme Antunes
Quinto Elemento
Guifaria
Posts
18/08/2009
Emerson Nascimento
SELECT grade.GradeId, item_grade.numero, item_grade.quantidade FROM Grade INNER JOIN item_grade ON item_grade.GradeId = Grade.GradeId Where Grade.Fornecedor = X AND Grade.ColaboradorId = ´2´
mas se você precisar de um ´FOR´, procure por [i:fa93622e5d]cursor[/i:fa93622e5d]es no SQL Server.
18/08/2009
Guifaria
segue abaixo o que quero com mais clareza. as vezes podem me ajudar:
Quero fazer o seguinte:
Y = (SELECT DISTINCT Grade.GradeId FROM Grade WHERE FornecedorId = ´2´)
OBS: isso me retornaria os valores de das grades. EX. 1,8,4
Depois para cada ocorrência(Y) acima, gostaria de selecionar:
SELECT item_grade.numero, item_grade.quantidade
FROM _Grade INNER JOIN _item_grade ON _Grade.GradeId = item_grade.GradeId
Where Grade.Fornecedor = X
AND Grade.GradeId = Item_grade.GradeId
AND GradeId = Y
O RESULTADO SERIA ALGO ASSIM:
PARA GradeId = 1
NUMERO 34 35 36 37
QUANTIDADE 1 5 5 1
PARA GradeId =8
NUMERO 34 35 36 37 38 39
QUANTIDADE 1 2 3 3 2 1
PARA GradeId = 4
NUMERO 25 26 27 28 29 30
QUANTIDADE 1 2 2 2 3 2
Alguem se pode colaborar?
18/08/2009
Emerson Nascimento
o quê foi apresentado como resultado ?
18/08/2009
Guifaria
GradeID Numero e Quantidade respectivamente:
1341
1352
1363
1373
1382
1391
2371
2382
2393
2403
2412
2421
Gostaria do resultado assim:
PARA GradeId = 1
NUMERO 34 35 36 37 ...
QUANTIDADE 1 5 5 1 ...
Uso Sql Server 2005. e Visual Studio
18/08/2009
Emerson Nascimento
se você prefere que o SQL Server te dê o resultado final, estude o comando DECLARE CURSOR, FETCH NEXT, @@FETCH_STATUS, DEALLOCATE...
um exemplo simples pode ser encontrado [url=http://willasrari.com/blog/create-a-cursor-in-sql-server/000158.aspx]aqui[/url].
16/05/2011
Riqueciano Soares
Clique aqui para fazer login e interagir na Comunidade :)