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

    [MySql] Risultato da più tabelle correlate ad un unica altra tabella

    Oddio, il titolo non dice praticamente nulla. Cerco di essere più chiaro.

    Ho quattro tabelle, sono tutte tabelle che contengono un informazione su una determinata azione dell'utente:

    Tabella 1 - Spesa
    id, id_utente, id_prodotto, data_acquisto

    Tabella 2 - Sport
    id, id_utente, id_attività, data_attività

    e così via. In sostanza nulla di strettamente correlato. In comune hanno solo l'id_utente che, ovviamente, è la chiave di ricerca della query.

    In sostanza quello che voglio è che DATO un ID uguale a 1 voglio stampare, in ordine di data decrescente, tutte le attività svolte dall'utente.

    Ora, ci sto praticamente sopra da 4 ore. Ho provato con le JOIN (con il risultato che per ogni join successiva alla prima il campo le righe si moltiplicavano a dismisura) e con UNION (ma necessità di campi simili o dello stesso numero di campi e non è il mio caso, non lasciatevi ingannare dall'esempio che è ovviamente più semplificato della realtà)

    Cosa mi consigliate? il suicidio? xD

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Usa le union e limitati a selezionare da ogni tabella i campi affini.

  3. #3
    Eh sì, sarebbe una soluzione ma mi costringerebbe a rinunciare a davvero tanti parametri necessari per sviluppare lo script così come l'idea originale. Mi sono riproposto di non accontentarmi, quindi speravo in qualche soluzione più funzionale e meno dispendiosa per il sistema

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da monteduro
    Eh sì, sarebbe una soluzione ma mi costringerebbe a rinunciare a davvero tanti parametri necessari per sviluppare lo script così come l'idea originale. Mi sono riproposto di non accontentarmi, quindi speravo in qualche soluzione più funzionale e meno dispendiosa per il sistema
    francamente non ho capito un granchè.

    Puoi usare UNION con l'accorgimento di rinominare con AS i vari campi, ovviamente mantenendo l'ordine e il tipo (interi, stringhe etc).
    ---
    L'alternativa, ovviamente, è quello di "collassare verso il basso", ossia creare una singola tabella che contiene i campi delle varie tabelle che hai ora, giustapposti.

    E selezionare direttamente per poi proiettare.

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.