SQL
A instruçào SQL abaixo funciona sem problema diretamente no SQL. Mas quando coloco no SQLDataSet e tento abrir a tabela, aparece a seguinte mensagem:
"Sintaxe incorreta próximo a palavra inner"
Select Consignado.Id_Cliente, Consignado.Id_Consignado,
Consignado.Id_Banco, Consignado.Id_Produto, Data, DataInicio,
Month(DataInicio + QtParcelas*30-30) MesFim,
Month((DataInicio + QtParcelas*30-30) - GETDATE()) MesesRest,
clientes.Nome, Bancos.Nome, Consignado.Valor, QtParcelas, Produtos.Nome,
Valor * Bancos.PercComissao/100 Comissao,
(Valor * Bancos.PercComissao/100) * 5/100 Imposto,
(Valor*Bancos.PercComissao/100)- ((Valor * Bancos.PercComissao/100) * 5 /100) Liquido from Consignado Inner Join Produtos on (Consignado.Id_Produto = Produtos.Id_Produto)
Inner Join Bancos on (Consignado.Id_Banco = Bancos.Id_Banco)
Inner Join clientes on (Consignado.Id_Cliente = Clientes.Id_Cliente) Obrigado
Consignado.Id_Banco, Consignado.Id_Produto, Data, DataInicio,
Month(DataInicio + QtParcelas*30-30) MesFim,
Month((DataInicio + QtParcelas*30-30) - GETDATE()) MesesRest,
clientes.Nome, Bancos.Nome, Consignado.Valor, QtParcelas, Produtos.Nome,
Valor * Bancos.PercComissao/100 Comissao,
(Valor * Bancos.PercComissao/100) * 5/100 Imposto,
(Valor*Bancos.PercComissao/100)- ((Valor * Bancos.PercComissao/100) * 5 /100) Liquido from Consignado Inner Join Produtos on (Consignado.Id_Produto = Produtos.Id_Produto)
Inner Join Bancos on (Consignado.Id_Banco = Bancos.Id_Banco)
Inner Join clientes on (Consignado.Id_Cliente = Clientes.Id_Cliente) Obrigado
Warlen Oliveira
Curtidas 0
Respostas
Wesley Yamazack
15/10/2009
Olá meu amigo, Bom dia.
Veja o exemplo abaixo
SELECT campos FROM tabela1 INNER JOIN tabela2
ON (tb1.campo1 comp tb2.campo1 AND ON tb1.campo2 comp tb2.campo2)
OR ON (tb1.campo3 comp tb2.campo3)
Aparentemente é igual ao seu, a única explicação que teria para lhe dizer, é algum espaço no teu SQLDataSet, veja como esta sendo montado a na propriedade, Sqldata.sql.Text, veja se no delphi ele não esta juntando from ConsignadoInner
Teu Scritp esta correto, tanto que no SQL esta funcionando, então a única explicação seria esta, a principio.
Um abraço
Wesley Y
Veja o exemplo abaixo
SELECT campos FROM tabela1 INNER JOIN tabela2
ON (tb1.campo1 comp tb2.campo1 AND ON tb1.campo2 comp tb2.campo2)
OR ON (tb1.campo3 comp tb2.campo3)
Aparentemente é igual ao seu, a única explicação que teria para lhe dizer, é algum espaço no teu SQLDataSet, veja como esta sendo montado a na propriedade, Sqldata.sql.Text, veja se no delphi ele não esta juntando from ConsignadoInner
Teu Scritp esta correto, tanto que no SQL esta funcionando, então a única explicação seria esta, a principio.
Um abraço
Wesley Y
GOSTEI 0
Warlen Oliveira
15/10/2009
Caro Wesley,
Você foi no ponto.
Realmente o Delphi estava juntando o texto. Inclusive estava com uma linha em branco antes do Innner e mesmo assim estava juntando. Posso considerar que é um BUG.
Foi só eu colocar espaço antes que deu certo.
Obrigado
GOSTEI 0
Wesley Yamazack
15/10/2009
Olá meu caro,
QUe bom que resolvemos teu problema.
Grande abraço
Wesley Y
QUe bom que resolvemos teu problema.
Grande abraço
Wesley Y
GOSTEI 0