Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thiago M.

Comando SQL

Recommended Posts

Bom Galera, preciso de um comando SQL para retornar todas os dados de um objeto cujo titulo inicia com AR.

 

Entretanto preciso também de dados que estão em outra tabela, a tabela de classes.

A tabela de classes possue a seguinte estrutura

 

Classes

Id: int

descricao : varchar

complemento: varchar

 

E a tabela de objetos dentre outras coisas, tem :

 

Objeto

inventario: int

titulo: varchar

descricao: varchar

idclasse: int

 

Existem casos em que um objeto pode ter um idclasse = 0, pois ainda não se sabe a que classe este pertence. Entretanto na tabela de classes nao temos nenhum item com este id = 0.

 

Na minha query preciso recuperar entao, todos os titulos comecados com AR.

O problema é que está repetindo os inventarios naqueles onde o idclasse = 0, sendo atribuido todos os ids de classe possivel.

 


SELECT DISTINCT
     objeto.INVENTARIO,
     objeto.DESCRICAO,
     objeto.TITULO,
     classe.ID,
FROM
     `objeto` objeto,
     `classe` classe,
WHERE
     ((classe.ID = objeto.IDCLASSE and objeto.IDCLASSE <> 0)
      or (objeto.IDCLASSE = 0 and classe.ID = 0))
     and objeto.titulo like "AR%"
ORDER BY
 objeto.inventario
ASC

Obrigado, entendido ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT DISTINCT
    objeto.INVENTARIO,
    objeto.DESCRICAO,
    objeto.TITULO,
    classe.ID,
FROM
    `objeto` objeto,
    `classe` classe,
WHERE
    ((classe.ID = objeto.IDCLASSE and objeto.IDCLASSE <> 0)
     or (objeto.IDCLASSE = 0 and classe.ID = 0 and classe.ID = objeto.IDCLASSE))
    and objeto.titulo like "AR%"
ORDER BY
objeto.inventario
ASC

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.