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

    Problemi con query MYSQL

    Non so come effettuare una query su un db MySQL che visualizzi solo una tipologia di dati, mi spiego meglio:

    Ho due tabelle, una chiamata movimenti ed una chiamata eventi. Nella tabella movimenti c'e' una colonna chiamata id_eventi che fa riferimento alla tabella evento.

    Dalla tabella movimenti devo estrapolare le seguenti tabelle:

    movimenti.ora_inizio_eve
    movimenti.ora_fine_eve

    dalla tabella eventi devo prelevare l'evento e quindi la colonna

    eventi.evento

    nella tabella movimenti, i dati devono essere uguali ad un id che io indico e nella tabella eventi, gli eventi devono essere uguali all'evento numero 5

    Codice PHP:
    "SELECT movimenti.ora_inizio_eve, movimenti.ora_fine_eve, eventi.evento FROM movimenti, eventi WHERE movimenti.id_evento=5 AND movimenti.id_g=('$id[0]')" 
    il problema della query che ho postato é che visualizza tutti gli eventi e non va bene..

    ho provato con una left join ma non sono molto bravo..

  2. #2
    Ti serve una join. Se c'è possibilità che a un movimento non sia connesso un evento, allora left join è la scelta adatta, altrimenti se c'è relazione 1 => 1 o 1=> molti, serve una inner join

    codice:
    SELECT
        eventi.evento,
        movimenti.ora_inizio_eve, 
        movimenti.ora_fine_eve
    FROM eventi
        INNER JOIN movimenti ON
            evento.id = movimenti.id_evento
    WHERE 
        evento.id = 5 AND 
        movimenti.id_g = ('$id[0]')
    Scritta di frettissima e senza controllare, ma dovrebbe andare bene. E' ottimizzabile, spostando parte della where che è fissa nella join, ma per ora fanulla.


  3. #3
    Grazie ha funzionato benissimo!, ho sostituito l'INNER JOIN con una LEFT JOIN, grazie ancora

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.