Pular para o conteúdo
Visualizando 7 posts - 1 até 7 (de 7 do total)
  • Autor
    Posts
  • #83834
    hermesmc
    Participante

      Senhores. Estou apanhando pra fazer uma consulta em algumas tabelas. A idéia é a seguinte: Tenho 3 tabelas: Fabricante, modelo, carro. Eu quero fazer uma consulta onde eu liste todos os fabricantes que possuem modelo mas não possuem nenhum carro.

      #83837
      Rodrigo Mesquita
      Participante

        coloca aqui a estrutura das tabelas

        #83838
        hermesmc
        Participante

          Tabela Fabricante:
          cod_fabricante
          nom_fabricante

          Tabela Modelo:
          cod_modelo
          cod_fabricante
          nom_modelo

          Tabela Carro:
          cod_carro
          cod_modelo
          nom_carro

          Basicamente é isso. E para a consulta tenho apenas o periodo desejado:
          Dt_inicio e dt_fim

          #83839
          Avatar photoRegis Araujo
          Participante

            Fala Hermes, boa tarde!

            Bom, creio que seu select seja desta maneira…

            SELECT FAB.*, MOD.*
            FROM FABRICANTE FAB,
            MODELO MOD
            WHERE MOD.COD_FABRICANTE = FAB.COD.FABRICANTE
            AND NOT EXISTS (SELECT CAR.COD_MODELO FROM CARRO CAR
            WHERE CAR.COD_MODELO = MOD.COD_MODELO)

            ou

            SELECT FAB.*, MOD.*
            FROM FABRICANTE FAB,
            MODELO MOD
            WHERE MOD.COD_FABRICANTE = FAB.COD.FABRICANTE
            AND MOD.COD_MODELO NOT IN (SELECT CAR.COD_MODELO FROM CARRO CAR)

            Espero ter ajudado.

            Abraços…

            #83840
            Rodrigo Mesquita
            Participante

              Seria algo do tipo:

              Select cod_fabricante,nom_fabricante From tabela_fabricante tf, tabela_modelo tm where tf.cod_fabricante = tm.cod_fabricante
              and cod_modelo not in (select cod_modelo from tabela_carro)

              #83843
              Avatar photoLeonardo Litz
              Participante

                Ao inves de utilizar o not in, vc também pode utilizar o not exists, que é mais rapido.

                #83845
                hermesmc
                Participante

                  Thunder_Catz e Rodrigo, obrigado. Funcionou 100%.

                Visualizando 7 posts - 1 até 7 (de 7 do total)
                • Você deve fazer login para responder a este tópico.