Lucas Conceição Posted October 7, 2011 Report Share Posted October 7, 2011 Bom pessoal,estou desenvolvendo consultas agora,porém existem vários erros acontecendo e eu realmente não faço idéia do porque,Eu criei meu dataSet e arrastei o dataAdapter pra la,Ai começei a configurar até chegar na parte de colocar a consulta,Coloquei a seguinte consulta:SELECT HELPDESK.nome_help_desk as Helpdesk, TIPO_SOFTWARE.nome_software as Software, TAREFA.tarefa_desc as Tarefa, Tarefa.prioridade as Prioridade, Tarefa.duracao as Duracao, Tarefa.status as StatusFROM CATEGORIA CINNER JOIN (HELPDESK INNER JOIN (TIPO_SOFTWARE INNER JOIN TAREFA ON TAREFA.id_software = TIPO_SOFTWARE.id)INNER JOIN TIPO_SOFTWARE AS TS ON TS.id_helpdesk = HELPDESK.id)ON TAREFA.id_software = TIPO_SOFTWARE.idAND TIPO_SOFTWARE.id_helpdesk = HELPDESK.idAND HELPDESK.id_categoria = C.idWHERE C.id = 11GROUP BY TAREFA.idORDER BY HELPDESK.nome_help_deskEla roda normalmente no meu banco de dados,Porém dei um next e me apareceu 4 erros impedindo a criação do dataAdapter,São eles:Error in ON clause near ')'.Error in ON clause near 'GROUP'.Error in ON clause near 'ORDER'.Unable to parse query text.Alguém teve esse erro alguma vez?está aparecendo em várias consultas que eu faço,as vezes eu tenho até que tirar o group e o order, mas ai a consulta não vem correta. Quote Link to comment Share on other sites More sharing options...
0 Xistyle Posted October 7, 2011 Report Share Posted October 7, 2011 Nunca vi e não entendi esse INNER JOIN seu rapaz :oO Join faz a ligação entre as tabelas por um campo em comum, com mesmo valor (as chaves estrangeiras com chaves primárias).Nesse caso, você tem que ligar a tabela Categoria com alguma que tenha relacionamento com ela, e assim por diante. Para ficar de fácil manutenção, sempre estruture da seguinte forma:SELECT t5.campo1, t2.campo2, t3.campo3 FROM tabela1 AS t1 INNER JOIN tabela2 AS t2 ON (t1.id = t2.id) INNER JOIN tabela3 AS t3 ON (t1.id = t3.id) INNER JOIN tabela4 AS t4 ON (t2.id = t4.id) --Perceba que o relacionamento não é obrigatório com a primeira tabela LEFT JOIN tabela5 AS t5 ON (t3.id = t5.id) WHERE t1.campo1 = 2 AND ...O group by e order by estão dando erro devido a estruturação do seu JOIN Quote Link to comment Share on other sites More sharing options...
0 Lucas Conceição Posted October 7, 2011 Author Report Share Posted October 7, 2011 Mas então Xistyle,Essa consulta funciona perfeitamente no banco de dados (MySql), e na minha aplicação tam´bém,só não funcionou agora que fui adiconar ao dataAdapater, e por exemplo, minhas tabelas vão referenciando a próxima exemplo:Tabelas t1,t2 e t3t1 é a tabela mãe, t2 referencia t1, e t3 referencia t2, e assim por diante,Vou tentar arrumar essa tabela para aparecer os mesmos valores com uma estrutura de join diferente.Obrigado pela resposta =) Quote Link to comment Share on other sites More sharing options...
0 Lucas Conceição Posted October 7, 2011 Author Report Share Posted October 7, 2011 Aew Xistyle,refiz a minha consulta ficando assim:SELECT H.nome_help_desk as Helpdesk, TS.nome_software as Software, T.tarefa_desc as Tarefa, T.prioridade as Prioridade, T.duracao as Duracao, T.status as StatusFROM CATEGORIA CINNER JOIN HELPDESK as H ON (h.id_categoria = C.id)INNER JOIN TIPO_SOFTWARE as TS ON (TS.id_helpdesk = H.id)INNER JOIN TAREFA AS T ON (T.id_software = TS.id)WHERE C.id = 11GROUP BY T.idORDER BY H.nome_help_desk;E funcionou direitinho no DataAdapter, muito obrigado mais uma vez por esse motne de ajuda que você está me dando. =D Quote Link to comment Share on other sites More sharing options...
0 Xistyle Posted October 7, 2011 Report Share Posted October 7, 2011 Boa velho :)Pode dar um pouco mais de trabalho organizar, alinhar as strings e tal. Mas pra dar manutenção depois, fica uma belezura! Quote Link to comment Share on other sites More sharing options...
0 Lucas Conceição Posted October 10, 2011 Author Report Share Posted October 10, 2011 A isso é verdade,no momento estou procurando como fazer pra mudar o valor que aparece no report viewer,se você tiver alguma idéia,Não sei se preciso colocar alguma instrução no report ou via código mesmo.Por exemplo: eu tenho os dados la no meu report de prioridade, porém no banco está gravado como 0, 1, e 2, sendo:0 - prioridade baixa1 - prioridade média2 - prioridade alta,Ai queria colocar esses valores no report,Começeui a procurar agora,se eu encontrar algo^que resolva eu já posto aqui. Quote Link to comment Share on other sites More sharing options...
0 Xistyle Posted October 10, 2011 Report Share Posted October 10, 2011 Lucas, você deve criar uma fórmula e colocar no lugar do campo, no layout do seu report.A fórmula vai ser algo mais ou menos assim:If ({@prioridade}) = 0 Then "Prioridade Baixa" ElseIf ({@prioridade}) = 1 Then "Prioridade Média" ElseIf ({@prioridade}) = 2 Then "Prioridade Alta" End IfNão lembro ao certo a sintaxe, mas acho que é similar ao VB. Quote Link to comment Share on other sites More sharing options...
0 Lucas Conceição Posted October 10, 2011 Author Report Share Posted October 10, 2011 (edited) EDIT. OLha Xistyle estou pensando em algo aqui mas não sei como realizar,Eu precisaria de uma consulta geralzona (não sei se existe),por exemplo: No meu form eu seleciona os cmapos que eu quero eu vão para o Relatório e clico em gerar relatório,Ai gera um relatório dos campos que eu coloquei para serem gerados.Você sabe de algo assim?*-*-*-*-*-**-*-*-*-*-*-*-*-*-Você foi mais rápido mas eu consegui aqui agora também hahahah,Eu fiz o testo com 2 colunas, uma eu precisava trocar 2 valores mas a outra eram 3 valores,A condição da coluna com 3 valores ficou assim=IIF(Fields!Prioridade.Value = "0", "Baixa", IIF(Fields!Prioridade.Value = "1", "Média", "Alta"))Ai esse código ficou no Value da Célula que ta dento do Meu Report.Ai funcionou direitinho.Ta ficando bom o negócio hahahaha Edited October 10, 2011 by Lucas Conceição Quote Link to comment Share on other sites More sharing options...
Question
Lucas Conceição
Bom pessoal,
estou desenvolvendo consultas agora,
porém existem vários erros acontecendo e eu realmente não faço idéia do porque,
Eu criei meu dataSet e arrastei o dataAdapter pra la,
Ai começei a configurar até chegar na parte de colocar a consulta,
Coloquei a seguinte consulta:
SELECT HELPDESK.nome_help_desk as Helpdesk,
TIPO_SOFTWARE.nome_software as Software,
TAREFA.tarefa_desc as Tarefa,
Tarefa.prioridade as Prioridade, Tarefa.duracao as Duracao, Tarefa.status as Status
FROM CATEGORIA C
INNER JOIN (HELPDESK INNER JOIN (TIPO_SOFTWARE INNER JOIN TAREFA ON TAREFA.id_software = TIPO_SOFTWARE.id)
INNER JOIN TIPO_SOFTWARE AS TS ON TS.id_helpdesk = HELPDESK.id)
ON TAREFA.id_software = TIPO_SOFTWARE.id
AND TIPO_SOFTWARE.id_helpdesk = HELPDESK.id
AND HELPDESK.id_categoria = C.id
WHERE C.id = 11
GROUP BY TAREFA.id
ORDER BY HELPDESK.nome_help_desk
Ela roda normalmente no meu banco de dados,
Porém dei um next e me apareceu 4 erros impedindo a criação do dataAdapter,
São eles:
Error in ON clause near ')'.
Error in ON clause near 'GROUP'.
Error in ON clause near 'ORDER'.
Unable to parse query text.
Alguém teve esse erro alguma vez?
está aparecendo em várias consultas que eu faço,
as vezes eu tenho até que tirar o group e o order, mas ai a consulta não vem correta.
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.