SQL DA ERRO NO VB

CAIO.FR.SP 08/09/2012 14:01:51
#409304
galera estou tentando fazer a seguinte consulta no vb:

  SELECT p.cod_proser,p.data_cadastro,p.titulo,p.marca,p.descricao,p.marca, 
p.cod_contato,p.codigo_barras,p.unidade_tipo,p.valor_compra,p.lucro,
p.valor_venda,p.quantidade,p.auto_decremento,p.ativo,p.observacao,
c.nome_razao,u.sigla,g.titulo grupo
FROM produtos_servicos p
INNER JOIN contatos c ON p.cod_contato = c.cod_contato
INNER JOIN grupos g ON p.cod_grupo = g.cod_grupo
INNER JOIN unidade_medida u ON p.unidade_tipo = u.cod_unidade_medida
WHERE p.excluido = 0 AND p.cod_proser = 2


e esta dando erro de sintaxe proximo a [Ô]produtos_servicos[Ô]

e a mesma consulta roda muito bem no SQL Server Management Studio

O que pode ser?
MGALDINO 08/09/2012 17:48:34
#409306
O erro esta nesta linha
[Ô]c.nome_razao,u.sigla,g.titulo grupo[Ô]

Deve existir o campo [Ô]g.titulo_grupo[Ô] ele esta separado, caracterizando outro campo [Ô]grupo[Ô].

Correto seria.

SELECT p.cod_proser,p.data_cadastro,p.titulo,p.marca,p.descricao,p.marca,
p.cod_contato,p.codigo_barras,p.unidade_tipo,p.valor_compra,p.lucro,
p.valor_venda,p.quantidade,p.auto_decremento,p.ativo,p.observacao,
c.nome_razao,u.sigla,g.titulo_grupo
FROM produtos_servicos p
INNER JOIN contatos c ON p.cod_contato = c.cod_contato
INNER JOIN grupos g ON p.cod_grupo = g.cod_grupo
INNER JOIN unidade_medida u ON p.unidade_tipo = u.cod_unidade_medida
WHERE p.excluido = 0 AND p.cod_proser = 2




Att
CAIO.FR.SP 08/09/2012 17:56:23
#409308
MGALDINO, nao existe o campo titulo_grupo, eu defini a alias grupo ao campo g.titulo ja que existe o campo p.titulo, mas pensei que o espaco que por nao usar o atributo AS poderia ser este o motivo do ero, mas mesmo usasndo (g.titulo) as grupo, ocorre o erro no VB, na query do sql server roda normal.
FILMAN 08/09/2012 18:16:43
#409309
Tenta Assim

SELECT p.cod_proser,p.data_cadastro,p.titulo,p.marca,p.descricao,p.marca, 
p.cod_contato,p.codigo_barras,p.unidade_tipo,p.valor_compra,p.lucro,
p.valor_venda,p.quantidade,p.auto_decremento,p.ativo,p.observacao,
c.nome_razao,u.sigla,g.titulo grupo
FROM produtos_servicos p
INNER JOIN contatos c ON (p.cod_contato = c.cod_contato)
INNER JOIN grupos g ON (p.cod_grupo = g.cod_grupo)
INNER JOIN unidade_medida u ON (p.unidade_tipo = u.cod_unidade_medida)
WHERE p.excluido = 0 AND p.cod_proser = 2


Caso não conseguir tenta assim

SELECT p.cod_proser,p.data_cadastro,p.titulo,p.marca,p.descricao,p.marca, 
p.cod_contato,p.codigo_barras,p.unidade_tipo,p.valor_compra,p.lucro,
p.valor_venda,p.quantidade,p.auto_decremento,p.ativo,p.observacao,
c.nome_razao,u.sigla,g.titulo grupo
FROM (((produtos_servicos p
INNER JOIN contatos c ON p.cod_contato = c.cod_contato)
INNER JOIN grupos g ON p.cod_grupo = g.cod_grupo)
INNER JOIN unidade_medida u ON p.unidade_tipo = u.cod_unidade_medida)
WHERE p.excluido = 0 AND p.cod_proser = 2




Espero ter ajudado mais qualquer coisa poste o erro que apresenta na tela
FEDERHEN 10/09/2012 08:05:41
#409338
Resposta escolhida
Eu costumo usar AS para definição do alias

SELECT p.cod_proser,p.data_cadastro,p.titulo,p.marca,p.descricao,p.marca,
p.cod_contato,p.codigo_barras,p.unidade_tipo,p.valor_compra,p.lucro,
p.valor_venda,p.quantidade,p.auto_decremento,p.ativo,p.observacao,
c.nome_razao,u.sigla,g.titulo [txt-color=#e80000]As[/txt-color] grupo
FROM produtos_servicos p
INNER JOIN contatos c ON p.cod_contato = c.cod_contato
INNER JOIN grupos g ON p.cod_grupo = g.cod_grupo
INNER JOIN unidade_medida u ON p.unidade_tipo = u.cod_unidade_medida
WHERE p.excluido = 0 AND p.cod_proser = 2



Tópico encerrado , respostas não são mais permitidas