Problema con view

di il
5 risposte

Problema con view

Buongiorno a tutti ringrazio in anticipo per l'aiuto, sono alle prime armi con sql. Riscontro alcuni problemi nel creare una vista relazionale, la parte che ho scritto è la seguente:.
create or replace view NoSinistri(codice_fiscale) as 
  select  P.codice_fiscale 
  from Proprietari P, Auto A, AutoCoinvolte U
  where P.codice_fiscale = A.proprietario 
        and A.targa != U.Auto
E questo sarebbe una parte dell'esercizio:
Allegati:
18500_50f577e029105f549420d0f3f437adf6.png
18500_50f577e029105f549420d0f3f437adf6.png

5 Risposte

  • Re: Problema con view

    E quali sono i problemi ?
  • Re: Problema con view

    Volevo sapere se la parte che ho scritto è giusta, perché provandola mi restituisce una cosa non corretta, invece inserendo l'operatore = al posto != mi restituisce le informazioni corrette ma ovviamente sono il contrario di quelle che servono a me, spero di essere stato chiaro. Grazie
  • Re: Problema con view

    Prova scrivendo NOT A.targa=U.Auto
  • Re: Problema con view

    colt40 ha scritto:


    Volevo sapere se la parte che ho scritto è giusta, perché provandola mi restituisce una cosa non corretta, invece inserendo l'operatore = al posto != mi restituisce le informazioni corrette ma ovviamente sono il contrario di quelle che servono a me, spero di essere stato chiaro. Grazie
    L'operatore != è corretto, dal punto di vista sintattico.
    Ma probabilmente non dovrebbe essere usato in questo caso perché è la condizione impostata che non mi pare corretta.

    Premetto che a mio avviso la tabella AutoCoinvolte dovrebbe avere (come logica) un campo TARGA, e NON un campo Auto.
    A naso mi verrebbe da dire che l'auto non dovrebbe figurare in AutoCoinvolte, quindi:

    non
    AND A.Targa != U.Auto
    ma
    AND A.Targa NOT IN (SELECT Auto FROM AutoCoinvolte)
    Magari sbaglio.
  • Re: Problema con view

    Potresti provare:
    select P.codice_fiscale
    from Proprietari P
    where P.codice_fiscale NOT IN (Select Proprietari.codice_fiscale FROM Proprietari INNER JOIN Auto ON Proprietari.codice_fiscale = Auto.Au_Pro INNER JOIN AutoCoinvolte ON Auto.Au_Targa = AutoCoinvolte.AC_Auto)
    Ovviamente ho inventato gli altri campi...
    Sempre se ho ben capito il problema...ho una certa età
Devi accedere o registrarti per scrivere nel forum
5 risposte