Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Subquery su più tabelle

    Salve a tutti, sto usando l'applicativo eGroupware e vorrei realizzare un piccolo script esterno che mi controlli i progetti presenti nelle tabelle mysql e mi fornisca determinate informazioni.

    I campi che mi interessa stampare sono:
    - Dalla tabella pm_projects i campi pm_id, pm_title, pm_description, cat_id, pm_completion (in ordine: id del progetto, titolo, descrizione, categoria, stato di avanzamento);

    E fin qui non c'è nessun problema, con la seguente query ottengo i dati desiderati:
    Codice PHP:
    $query "SELECT pm_id,pm_title,pm_description,cat_id,pm_completion FROM pm_projects"
    Il problema é visualizzare i dati del "team" che sta portando avanti ogni singolo progetto, dati che sono contenuti in altre tabelle:
    - tabella members , i campi id_a, member_id, role_id (identificano l'id del progetto, l'id dell'utente associato al progetto, il ruolo che l'utente ha);
    - tabella addressbook , campi n_family, n_given, account_id (in ordine: cognome, nome, id utente);

    Io vorrei creare una subquery o altro (chiedo consiglio a voi) che mi credi un array con i seguenti dati per il team (di ogni progetto):
    addressbook.n_given, addressbook.n_family, members.role_id (ovvero: nome, cognome, ruolo quando members.member_id = addressbook.account_id ed ovviamente pm_project.pm_id = members.pm_id)

    Spero potrete aiutarmi..

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    122
    Se ho capito bene a te serve per ogni progetto, le persone che sono collegate e di queste vuoi vedere sia i loro attributi relativi al progetto che stanno seguendo sia i loro dati anagrafici.

    Se è così potrebbe bastare una semplice query che ha in join le tre tabelle..provo a scrivertela...
    poi se non è quello che volevi ci risentiamo :

    $query = "SELECT a.pm_id,
    a.pm_title,
    a.pm_description,
    a.cat_id,
    a.pm_completion,
    b.role_id,
    c.n_family,
    c.n_given
    FROM pm_projects a,
    members b,
    addressbook c
    where a.pm_id = b.id_a
    and b.member_id = c.account_id

    Questa query ti restituisce un cursore che puoi poi intabellare in un array...

  3. #3
    Ho risolto molto similmente a quanto mi hai suggerito tu, grazie molto gentile..

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.