Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Select da due tabelle

  1. #1
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296

    Select da due tabelle

    Salve a tutti. Proteste aiutarmi a risolvere questo problema?
    Ho due tabelle. In una ho i dei dati anagrafici (ANAG) :

    ID_DOMANDA; NUMERO_DOMANDA; CONCORSO; CODICE_FISCALE; PARTITA_IVA; NOME; COGNOME; INDIRIZZO; …

    nell’altra quelli riguardanti le graduatorie (GRADUATORIE).

    ID_GRADUATORIE; NUM_DOMANDA; CONCORSO; NUM_GRAD; PUNTEGGIO; ...

    Le due tabelle hanno in comune i campi numero_domanda e concorso .

    Nella due tabelle il rapporto numero_domanda:concorso è di n:n (ossia 1 domanda può riferirsi ad n concorsi ed 1 concorso può avere n domande).

    Il mio problema è di ottenere una lista di tutti i record di GRADUATORIE inserendo il nome prendendolo da ANAG forse mi sto incartando, ma non mi riesce

    e questa :

    SELECT * FROM ANAG A, GRADUATORIE G
    WHERE A.numero_domanda=G.numero_domanda and A.misura=G.misura
    ovviamente non funziona

  2. #2
    Non sono certo di avere capito proprio tutto. Cosi' su due piedi direi che quello che ti frega e' il rapporto n:n di numero_domanda : concorso

    Una domanda dovrebbe riferirsi solo ad uno specifico concorso. Mentre un concorso puo' (dovrebbe) avere piu' domande. Quindi se una domanda si riferisce a piu' concorsi si tratterebbe di un valore non atomico che andrebbe suddiviso in tanti record atomici in apposita tabella di unione (potrebbe essere graduatorie).

    domanda A - concorso 1
    domanda A - concorso 2
    domanda B - concorso 1

    c'e' poi un'altra incongruenza. In ANAGRAFICA non puoi mettere anche domande e concorsi altrimenti dovresti ripetere tutti i dati anagrafici per ogni domanda - concorso. Quindi la tabella di unione (graduatorie) dovrebbe essere cosi' composta

    id_unione - id_domanda - id_concorso - id_anagrafico - punteggio

    Ovvio che pero' a questo punto dovresti avere 4 tabelle:

    anagrafica - domande - concorsi - graduatorie.

    Ma forse non ho capito nulla ed ho scritto a vanvera.....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Hai ragione piero, il rapporto n:n mi crea questa difficoltà, infatti come la giro il problema rimane.
    Per quanto riguarda la composizione delle tabelle, in linea di massima hai ragione , ma il fatto che siano presenti dei campi ripetuti (anche se sono gli unici campi comuni per poter effettuare delle comparazioni fra tabelle) credo sia ininfluente ai fini del mio problema.
    Comunque non escludo a priori di mettere mano alla architettura delle tabelle

    Una domanda dovrebbe riferirsi solo ad uno specifico concorso
    Purtroppo non è vero in questo caso

    Alla fine credo che (stanti così le cose) ricorrerò ad una tabella temporanea che mi garantisca in qualche modo la corrispendenza 1:1 tra il numero_domanda delle due tabelle.
    Ad ogni modo grazie per la risposta

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.