Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    50

    unire 3 colonne

    vorrei unire 3 colonne, ho fatto così:

    Codice PHP:
    "SELECT c_listino_mit.*, c_registro_mit.*, (c_registro_mit.id_insegnante_1, c_registro_mit.id_insegnante_2, c_registro_mit.id_insegnante_3) AS id_insegnante,
                a_login.*, c_registro_mit.provincia AS provincia3, c_registro_mit.comune AS comune3, 
                DATE_FORMAT(c_registro_mit.data_inizio_corso, '%d-%m-%Y') AS data_inizio_corso 

                FROM c_listino_mit, c_registro_mit, a_login

                WHERE c_registro_mit.id_listino_mit = c_listino_mit.id_listino_mit 
                AND id_insegnante = a_login.id_login 
                AND id_insegnante = '
    $login

                ORDER BY c_registro_mit.id_registro_mit DESC limit 
    $start$step"
    ma mi da questo errore:

    errore Operand should contain 1 column(s)

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    50
    Originariamente inviato da filippo.toso
    Ti suggerisco di iniziare leggendo la documentazione ufficiale:

    http://dev.mysql.com/doc/refman/5.0/...unction_concat
    ho seguito la documentazione ufficiale ma mi restituisce solo il valore della prima colonna, invece a me servirebbero tutte e tre:

    Codice PHP:
    SELECT c_listino_mit.*, c_registro_mit.*, c_registro_mit.id_insegnante_1=concat(id_insegnante_2id_insegnante_3),
                
    a_login.*, c_registro_mit.provincia AS provincia3c_registro_mit.comune AS comune3
                
    DATE_FORMAT(c_registro_mit.data_inizio_corso'%d-%m-%Y') AS data_inizio_corso 

                FROM c_listino_mit
    c_registro_mita_login

                WHERE c_registro_mit
    .id_listino_mit c_listino_mit.id_listino_mit 
                
    AND c_registro_mit.id_insegnante_1 a_login.id_login 
                
    AND c_registro_mit.id_insegnante_1 '$login' 

                
    ORDER BY c_registro_mit.id_registro_mit DESC limit $start$step 

  4. #4
    mah ...

    Codice PHP:
    SELECT c_listino_mit.*, c_registro_mit.*, CONCAT(c_registro_mit.id_insegnante_1c_registro_mit.id_insegnante_2c_registro_mit.id_insegnante_3) AS id_insegnante, ... 

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    50
    fatto, però ora mi dice che non trova la colonna 'id_insegnante':

    errore Unknown column 'id_insegnante' in 'where clause'

    Codice PHP:
    SELECT c_listino_mit.*, c_registro_mit.*, CONCAT(c_registro_mit.id_insegnante_1c_registro_mit.id_insegnante_2c_registro_mit.id_insegnante_3) AS id_insegnante,
                
    a_login.*, c_registro_mit.provincia AS provincia3c_registro_mit.comune AS comune3
                
    DATE_FORMAT(c_registro_mit.data_inizio_corso'%d-%m-%Y') AS data_inizio_corso 

                FROM c_listino_mit
    c_registro_mita_login

                WHERE c_registro_mit
    .id_listino_mit c_listino_mit.id_listino_mit 
                
    AND id_insegnante a_login.id_login 
                
    AND id_insegnante '$login' 

                
    ORDER BY c_registro_mit.id_registro_mit DESC limit $start$step 

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Perché non esiste.
    Devi ripetere la CONCAT

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    50
    Originariamente inviato da luca200
    Perché non esiste.
    Devi ripetere la CONCAT
    cioè?

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Codice PHP:
    AND CONCAT(.......) = a_login.id_login             
    AND CONCAT(.......) = '$login' 

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    50
    Grazie ora non mi da più errore però ancora non mi tira fuori i valori che mi servono.

    ES:

    CORSO dell'id id_registro_mit (6)
    NELLA COLONNA id_insegnante_1 (c'è l'id 531)
    NELLA COLONNA id_insegnante_2 (c'è l'id 4)
    NELLA COLONNA id_insegnante_3 (c'è l'id 7)

    CORSO dell'id id_registro_mit (24)
    NELLA COLONNA id_insegnante_1 (c'è l'id 1)
    NELLA COLONNA id_insegnante_2 (c'è l'id 22)
    NELLA COLONNA id_insegnante_3 (c'è l'id 531)

    mi dovrebbe uscire che l'insegnante con id 531 ha effettuato fino ad ora 2 corsi, il numero id 6 e il numero id 24, invece non me ne esce neanche uno


    Codice PHP:
    SELECT c_listino_mit.*, c_registro_mit.*, CONCAT(c_registro_mit.id_insegnante_1c_registro_mit.id_insegnante_2c_registro_mit.id_insegnante_3) AS id_insegnante,
                
    a_login.*, c_registro_mit.provincia AS provincia3c_registro_mit.comune AS comune3
                
    DATE_FORMAT(c_registro_mit.data_inizio_corso'%d-%m-%Y') AS data_inizio_corso 

                FROM c_listino_mit
    c_registro_mita_login

                WHERE c_registro_mit
    .id_listino_mit c_listino_mit.id_listino_mit 
                
    AND CONCAT(c_registro_mit.id_insegnante_1c_registro_mit.id_insegnante_2c_registro_mit.id_insegnante_3) = a_login.id_login 
                
    AND CONCAT(c_registro_mit.id_insegnante_1c_registro_mit.id_insegnante_2c_registro_mit.id_insegnante_3) = '$login' 

                
    ORDER BY c_registro_mit.id_registro_mit DESC limit $start$step 

  10. #10
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Sei completamente fuori strada, devi riscrivere il database.
    Ti serve una tabella per la relazione fra registro e insegnanti.

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.