Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    556

    query complicata

    Salve a tutti,

    vorrei esporvi un problema: ho 3 tabelle

    attivita

    settori (un settore può avere più servizi)

    servizi (un servizio puo avere più uffici e svolgere più attività)

    uffici (un ufficio può svolgere più attività)

    traducendo ho realizzato tre tabelle con i seguenti campi:

    attivita (id PK, descrizione, procformale, rifservizi FK, datainizio, datafine, rifuffici FK)
    settori (id PK, descrizione)
    servizi (id PK, descrizione, rifsettore, datainizio, datafine rifsettore FK)
    uffici (idufficio PK, descrizione, datainizio, datafine, rifservizi FK)

    qual'è l'istruzione SQL che mi permette di recuperare tutte le attività dei servizi e degli uffici di un determinato settore?

  2. #2
    più o meno così:

    SELECT a.descrizione, st.descrizione, u.descrizione FROM
    attivita a, settori st, servizi sv, uffici u
    WHERE a.rifservizi = sv.id
    AND a.rifuffici = u.id
    AND sv.rifsettore = st.id
    AND st.id = <id del settore che ti interessa>

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    556
    la query che mi hai dato non ritorna nessun risultato!! strano

    non è che ho sbagliato la struttura delle tabelle!?

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    556
    scrivendo questo tipo di select mi ritornano le righe esatte ma ripetute (18 record in tutto)
    mentre dovrebbero essere solo 4 righe

    SELECT a.descrizione
    FROM attivita AS a CROSS JOIN
    serviziuffici AS sv CROSS JOIN
    uffici AS u
    WHERE (a.rifserviziuffici = sv.id) AND (sv.rifsettore = 14) OR
    (sv.rifsettore = 14) AND (a.rifuffici = u.idufficio)

  5. #5
    Ciao,

    gentilmente, indica la piattaforma in uso (MySQL, PostGreSQL, MS SQL Server, DB2, Oracle o uno dei tanti altri) in quanto è obbligatorio.

    Se non provvederai a specificarlo a breve sarò costretto a chiudere il thread.

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    556
    utilizzo MS SQL Server 2005 express

    ciao

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 © 2025 vBulletin Solutions, Inc. All rights reserved.