Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Inner JOIN per due campi
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • C
      cyrus User • ultima modifica di

      Capito.
      Non so se è la soluzione più pulita, ma appoggiarti ad una variabile tutte le corrispondenze della categorie_guide, quindi

      [PHP]
      $query1="SELECT *FROM categoria_guide";
      $res1 = mysql_query($query1);
      [/PHP]

      Dopodichè, durante la stampa della tabella vai a cercare il nome

      [PHP] <tr>
      <td><?php echo $row['id']?></td>
      <td><?php echo $row['titolo']?></td>
      <td><?php echo $row['oggetto']?></td>
      <td><?php echo $row['cont']?></td>
      <td><?php while($row1=mysql_fetch_assoc($res1)){
      if $row['Arg_Sec']==$row1['id'] echo $row1['nome'] }?></td>
      </tr>
      [/PHP]

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • S
        stable Super User • ultima modifica di

        No infatti non è proprio pulita, infatti una cosa del genere la avevo sperimentata in un progetto precedente ma non è una cosa fatta bene.

        Grazie dell'aiuto.

        Qualcun'altro mi potrebbe aiutare?

        Grazie :mmm:

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • T
          thedarkita ModSenior • ultima modifica di

          Ciao stable,
          non sono sicuro di aver capito bene cosa vuoi fare, se quello che vuoi fare è unire 2 volte la stessa tabella utilizzando un campo differente dovresti fare cosi:

          
          SELECT sentenze.*, categoria_guide.nome, categoria_guide_sec.nome AS nome_sec
          FROM sentenze 
          JOIN categoria_guide ON categoria_guide.id = sentenze.Arg_Prim
          JOIN categoria_guide AS categoria_guide_sec ON categoria_guide_sec.id = sentenze.Arg_Sec
          
          WHERE sentenze.id = '12'  
          
          
          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • S
            stable Super User • ultima modifica di

            L'idea è proprio quella di unire due tabelle e due campi all'interno di queste tabelle, Thedarkita ho provato quello che mi hai postato, ma purtroppo non funziona e non capisco il perchè...

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              thedarkita ModSenior • ultima modifica di

              Dovrebbe funzionare, lanciando la query da phpMyAdmin restituisce qualche errore o si vede correttamente il risultato che ti aspettavi?

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • S
                stable Super User • ultima modifica di

                restituisce vuoto

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • P
                  problemapc User Attivo • ultima modifica di

                  Il problema è che per fare un join di una tabella 2 volte con un altra devi usare la tecnica degli alias:

                  select
                  a.id, b.nome as PrimaSentenza,
                  a.titolo, c.nome as SecondaSentenza
                  from sentenze a
                  left join categorie_guide b on a.Arg_Prim = b.id
                  left join categorie_guide c on a.Arg_Sec = c.id
                  where a.id = 12

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • T
                    thedarkita ModSenior • ultima modifica di

                    Ho appena creato in locale le 2 tabelle che hai detto, con quei dati, lanciando la query che ti ho dato io e inserendo un where corretto come la sentenza 1233 del tuo esempio mi sembra funzioni perfettamente.
                    Forse hai provato a mettere una sentenza non presente?

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • S
                      stable Super User • ultima modifica di

                      ProblemiPC, in effetti con due alias il problema è stato risolto.

                      Per correttezza posto la query nel caso dovesse servire a qualcuno:

                      SELECT a.id, b.nome AS PrimaSentenza, a.titolo, c.nome AS SecondaSentenza
                      FROM sentenze a
                      LEFT JOIN categoria_guide b ON a.Arg_Prim = b.id
                      LEFT JOIN categoria_guide c ON a.Arg_Sec = c.id
                      WHERE a.id =1248
                      LIMIT 0 , 30
                      P.S. Grazie anche agli altri che mi hanno aiutato

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • S
                        stable Super User • ultima modifica di

                        E se io volessi fare l'elenco delle sentenze indicando accanto per ciascun id la loro categoria di appartenza?

                        Una cosa del genere

                        
                        id                    Arg_Prim                 Arg_Sec
                        1                     bla                                   bla
                        2                     .....                                bla
                        3                      .......                            bla
                        
                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • S
                          stable Super User • ultima modifica di

                          up please.
                          Credo sia una cosa che potrebbe interessare vari utenti...

                          Grazie

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • T
                            thedarkita ModSenior • ultima modifica di

                            Non hai già tutti e 3 i valori restituiti dalla query? Non è sufficiente mandarli in output con php per formare la tabella che hai indicato?

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • S
                              stable Super User • ultima modifica di

                              Si si esatto giusto, non avevo riflettuto scusate 🙂

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              Caricamento altri post
                              Rispondi
                              • Topic risposta
                              Effettua l'accesso per rispondere
                              • Da Vecchi a Nuovi
                              • Da Nuovi a Vecchi
                              • Più Voti