Thiago M. 0 Denunciar post Postado Julho 21, 2009 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
giesta 29 Denunciar post Postado Julho 23, 2009 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