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

    Query sql: concatenare nome colonna con risultato di una select

    Salve dovrei riuscire in qualche modo a concatenare il nome di una colonna di una tabella con il risultato di una select.
    Mi spiego:
    Ho una tabella answers con n colonne del tipo

    ID | column_0 | column_1 | column_2 | column_n |


    e una tabella questions come segue

    QID | Label |
    0 Come?
    1 Perchè?
    2 Quando?
    ........................
    n ?

    le colonne della tabella answers hanno la seguente relazione

    column_{questions.QID}


    Quello che voglio fare è una select che mi restituisca

    questions.QID | questions.Label | answers.column_{questions.QID} |



    Ho provato qualcosa così:


    codice:
    SELECT 
    questions.qid AS qid, 
    questions.Label AS label, 
    (SELECT  'answers.column_' + questions.qid FROM answers) AS answer
    FROM questions
    WHERE questions.id = '769264'



    La select funziona ma il campo con la concatenazione ('answers.column_' + question.qid) mi restituisce i question.qid e non answers.column_0, answers.column_1, answer.column_n.

    Spero di essere stato chiaro nell'esposizione
    Ultima modifica di lorenz_italy; 03-11-2014 a 17:27

  2. #2
    Quote Originariamente inviata da lorenz_italy Visualizza il messaggio

    codice:
    SELECT 
    questions.qid AS qid, 
    questions.Label AS label, 
    (SELECT  'answers.column_' + questions.qid FROM answers) AS answer
    FROM questions
    WHERE questions.id = '769264'



    La select funziona ma il campo con la concatenazione ('answers.column_' + question.qid) mi restituisce i question.qid e non answers.column_0, answers.column_1, answer.column_n.
    Non ho capito un granche ma,

    tu dici :
    La select funziona ma il campo con la concatenazione ('answers.column_' + question.qid) mi restituisce i question.qid

    e scrivi la seguente select : SELECT 'answers.column_' + questions.qid

    dove selezioni i question.qiu

    Quindi é mormale che ti vengano restituiti
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

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.