Pagina 5 di 5 primaprima ... 3 4 5
Visualizzazione dei risultati da 41 a 50 su 50
  1. #41
    Utente di HTML.it L'avatar di Avalox
    Registrato dal
    Nov 2003
    Messaggi
    302


    Non te la potevi far spiegare direttamente dal prof?

    Dai....aspetta un pò e qualcuno ti aiuta....

  2. #42
    Mi e' arrivata via mail da un amico!

  3. #43
    Non riesce a capire il secondo select del where
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  4. #44
    select nome, cognome from Impiegato

    vabbè seleziona nome e cognome dell'impiegato

    Se i not exist restituiscono il select senza righe, allora restituisce false. Quindi selezionerò gli impiegati con entrambi i non exist della clausola di where veri, cioè contenti righe

    select * from lavora_su B where (B.ID_Prog_lav in (select ID_Prog from progetto where ID_Dip_gestore=3))

    Seleziona quelli che lavorano almeno su un progetto del DIP_3

    sono bloccato qui
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  5. #45
    Il secondo not exist controlla che ogni progetto del dipartimento 3 sia gestito dall'impiegato... [penso sia così non ne sono sicuro]

    La mia soluzione è moolto confusa...qualcuno riesce a capirci qualcosa meglio?
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  6. #46
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  7. #47
    Allora, sono arrivato a questa conclusione, datemi conferma...
    La query estrae nome e cognome dell'impiegato (mortacci suoi ) se, per l'impiegato attualmente selezionato, tutta la parte restante della query non estrae nulla, ovvero "not exists".
    Per tutto il resto della query si inverte quindi il ragionamento e si cercano progetti del dip 3 a cui NON lavora l'impiegato selezionato: prima cerchiamo i progetti gestiti dal dip 3 (dal select * fino al ID_Dip_gestore=3).
    Dopodiche' (dal secondo not exists) si selezionano gli assegnamenti ai progetti dove compare il codice fiscale dell'impiegato in questione (where C.CF_Imp=CF) e il cui dipartimento gestore sia quello selezionato poco prima ovvero il dip.3.
    Quindi ricapitolando:
    si estraggono i dati dell'impiegato se non esiste un progetto gestito dal dip.3 a cui non lavora l'impiegato...
    Mi chiedo se anziche' tutti questi annidamenti si sarebbe potuto snellire la query con dei join...

  8. #48
    Allora, sono arrivato a questa conclusione, datemi conferma...
    La query estrae nome e cognome dell'impiegato (mortacci suoi ) se, per l'impiegato attualmente selezionato, tutta la parte restante della query non estrae nulla, ovvero "not exists".
    Ma se la subquery del non exist ritorna zero righe lui restituisce false!

    http://dev.mysql.com/doc/mysql/en/ex...ubqueries.html
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  9. #49
    Se guardi il terzo esempio dalla pagina che hai linkato, beh e' molto simile a questo, cerca i negozi esistenti in tutte le citta', quindi cerca i negozi dove non esiste una citta' che non li abbia.
    Intricato ma conferma il ragionamento mi pare

  10. #50
    Si Spera...vabbè dai io ho fatto tutto al contrario
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.