Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Unire 4 query

  1. #1

    Unire 4 query

    Salve a tutti,
    vorrei unire i risultati di cinque query che estraggono i dati dalla stessa tabella.
    come posso fare?
    "L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, poi ti spiega la lezione".
    Oscar Wilde

  2. #2
    un altro forumista contagiato dal virus che impedisce di rispettare il regolamento e di indicare di quale db si sta parlando

  3. #3
    Utente di HTML.it L'avatar di Mashin
    Registrato dal
    Jul 2010
    Messaggi
    187
    A parte le info del DB che mancano (e non le chiediamo per sport, ma per non indicare soluzioni che sono inapplicabili per la tua base dati), non ho capito se le vuoi unire in verticale (quindi via Union) o in orizzontale (via Join).

  4. #4
    MySql...sono 4 query differenti sulla stessa tabella,quindi credo via Union; il join lo uso per tabelle differenti di solito. Grazie per l'aiuto
    "L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, poi ti spiega la lezione".
    Oscar Wilde

  5. #5
    quindi UNION, lo sai già

  6. #6
    Utente di HTML.it L'avatar di Mashin
    Registrato dal
    Jul 2010
    Messaggi
    187
    piccola nota. Non e' che la join la usi solo quandi hai tabelle diverse eh....puoi benissimo mettere in join la stessa tabella n volte con se' stessa. A volte serve

    Join -> colleghi tabelle in modo da avere informazioni "affiancate" (in orizzontale)
    Union -> unisci tabelle in modo da avere informazioni "elencate" (in verticale)

  7. #7
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Sono query top secret?
    Perchè oltre ad union, join e company c'è pure OR, IN, BETWEEN etc
    dipende da come sono fatte queste query

  8. #8
    Codice PHP:
    <?php                             include ("configdb.php");                                                          if(isset($_GET['tipog']))                             {                             $tipog=$_GET['tipog'];                             echo "---tipog---
    "
    ;                                 $valoritipog="";                                 foreach($tipog as $valore)                                 {                                                                  echo  $valore."
    "
    ;                                 $valoritipog.="\"".$valore."\"".",";                                                                                                  }                                                          }                                                                   if(isset($_GET['tipos']))                             {                             $tipos=$_GET['tipos'];                             echo "---tipos---
    "
    ;                             $valoritipos="";                                 foreach($tipos as $valore2)                                 {                                 echo  $valore2."
    "
    ;                                 $valoritipos.="\"".$valore2."\"".",";                                 }                                 }                             if(isset($_GET['formato']))                             {                             $formato=$_GET['formato'];                             echo "---formato---
    "
    ;                             $valoriformato="";                                 foreach($formato as $valore3)                                 {                                 echo  $valore3."
    "
    ;                                     $valoriformato.="\"".$valore3."\"".",";                                                                 }                             }                             if(isset($_GET['sistema']))                             {                             $sistema=$_GET['sistema'];                             echo "---sistema---
    "
    ;                             $valorisistema="";                                 foreach($sistema as $valore4)                                 {                                 echo  $valore4."
    "
    ;                                     $valorisistema.="\"".$valore4."\"".",";                                                                     }                                                         }                             if(isset($_GET['licenza']))                             {                             $licenza=$_GET['licenza'];                             echo "---licenza---
    "
    ;                             $valorilicenza="";                                 foreach($licenza as $valore5)                                 {                                 echo  $valore5."
    "
    ;                                 $valorilicenza.="\"".$valore5."\"".",";                                     }                                     }                                                          //creazione dati per la query                                                          if(isset($valoritipog))                             {                             $valoritipog=substr($valoritipog,0,-1);                             $querypart="tipog IN (".$valoritipog.")";                             echo $querypart;                             echo "
    ";                             //creazione query                             $query="SELECT FROM sc_plugin WHERE ".$querypart;                             echo $query."

    ";                             }                                                          if(isset(
    $valoritipos))                             {                                                         $valoritipos=substr($valoritipos,0,-1);                             $querypart2="tipos IN (".$valoritipos.")";                             echo $querypart2;                             echo "
    ";                             //creazione query                             
    $query2="SELECT FROM sc_plugin WHERE ".$querypart2;                             echo $query2."

    ";                             }                             if(isset(
    $valoriformato))                             {                                                             $valoriformato=substr($valoriformato,0,-1);                                                         $querypart3="formato IN (".$valoriformato.")";                             echo $querypart3;                             echo "
    ";                             //creazione query                             
    $query3="SELECT FROM sc_plugin WHERE ".$querypart3;                             echo $query3."

    ";                             }                             if(isset(
    $valorisistema))                             {                                 $valorisistema=substr($valorisistema,0,-1);                                                             $querypart4="sistema IN (".$valorisistema.")";                             echo $querypart4;                             echo "
    ";                             //creazione query                             
    $query4="SELECT FROM sc_plugin WHERE ".$querypart4;                             echo $query4."

    ";                             }                             if(isset(
    $valorilicenza))                             {                                 $valorilicenza=substr($valorilicenza,0,-1);                                                             $querypart5="licenza IN (".$valorilicenza.")";                             echo $querypart5;                             echo "
    ";                             //creazione query                             
    $query5="SELECT FROM sc_plugin WHERE ".$querypart5;                             echo $query5;                             }
    In sintesi devo unire i risultati di query,query2,...,query5 ed ordinarli per nome. non ho mai utilizzato praticamente la UNION e non so come ovviare a questo problema nel modo più efficiente...
    "L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, poi ti spiega la lezione".
    Oscar Wilde

  9. #9
    Voi cosa mi consigliate?
    "L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, poi ti spiega la lezione".
    Oscar Wilde

  10. #10
    di' che l'hai fatto apposta per farci un dispetto, a postare quella query chilometrica su una riga sola

    e comunque la union si fa così

    codice:
    SELECT campo1, campo2, ..., campoN FROM tabella WHERE condizione
    UNION
    SELECT *stessi campi per numero e tipo* FROM tabella WHERE altra_condizione
    UNION
    ... quante ne vuoi
    e se vuoi puoi ritrattare la query di risulta, così

    codice:
    SELECT elenco_campi FROM
    (
       SELECT ....
       UNION
       SELECT ...
       UNION
       SELECT...
    ) AS aliasditabella
    WHERE...
    ORDER BY...

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.