1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Dúvida SQL

Discussão em 'Programação' iniciada por xSnake75, 28 de Junho de 2012. (Respostas: 13; Visualizações: 922)

  1. Boas a todos

    Estou com uma duvida na reslização de uma query

    basicamente o que quero é juntar todos os dados de um campo de uma tabela e juntá-los numa coluna de outra,concatenando-as... é possivel?

    Um exemplo

    Listar todas as turmas de um determinado curso:

    idcurso turmas
    1 a,b,c






    Agradecido desde já pela ajuda :):):)
     
  2. Vandong

    Vandong Power Member

    Podes mostrar a estrutura das tabelas? é que não estou a perceber a parte de "juntar todos os dados de um campo de uma tabela"...
     
  3. dagas46

    dagas46 Power Member

    O que eu acho que ele quer é tendo uma tabela com as colunas idcurso e turmas, ter:

    idcurso turmas
    1 a
    1 b
    1 c

    e quer que fique como ele mostrou no exemplo. Pelo menos foi o que eu percebi. Penso que isso não seja possível de se fazer
     
  4. Stlkr

    Stlkr Power Member

    Se bem entendi o que queres fazer, não sei mas talvez com uma function consegues chegar lá... tenta criar um cursor que vai lendo cada linha e escrevendo quando a condição for igual à que queres (neste caso idcurso = 1) e escreve numa string...no fim fazes o return dessa string... Assim de repetente é a única forma que me está a ocorrer

    cumps
     
  5. coldfire

    coldfire Power Member

    Coloca pelo menos a estrura das tabelas para se perceber melhor o problema
     
  6. Aqui está (isto é o que realmente estou a fazer), caixas de email/mensagens

    tenho uma tabela em q tenho id da mensagem, o texto e mais alguns dados

    mail_sent:

    idMail - PRIMARY
    to - string para Email
    cc - string para email
    datatempo - datetime
    subject - assunto tb string
    corpomail - longtext

    a outra tabela diz repeito às caixas de email, que vai buscar dados a uma terceira tabela, a de username [string]:

    mensagem:

    idMens - Foreign Key/PRIMARY
    to - username
    from - username = $_SESSION['user']
    dt - datetime



    o que quero, se possivel é,


    || idMens | mensagem.to (tantos quanto o idMens seja o mesmo) ||

    || 10 | a,b,c,d,e,f ..... ||


    Eu poderia colocar o email apenas visto que em mail_sent.to estão lá todos os remetentes só que nem todos os utilizadores possuem email e daí fazer com o username, porque depois com o PHP valido quem tem email ou nao e regista tudo, enviando o respetivo email para quem o tem :)

    Agradecido desde já pela disponibilidade dada ;P
     
    Última edição: 29 de Junho de 2012
  7. inginheiiro

    inginheiiro Power Member

    select SUBSTRING((SELECT ',' + A_MINHA_TABELA.CAMPO_A_CONCATENAR FROM A_MINHA_TABELA ORDER BY A_MINHA_TABELA.CAMPO_A_CONCATENAR FOR XML PATH('')),2,200000)
     
  8. Desculpa-me a minha ignorância mas para que serve o '... FOR XML PATH('')' ??
     
  9. inginheiiro

    inginheiiro Power Member

    parsing e geração de xml . é em Microsoft Sql Server apenas.
     
  10. Obrigado Pela Dica :)

    Só que eu estou a user em MySQL :S
     
  11. inginheiiro

    inginheiiro Power Member

  12. inginheiiro

    inginheiiro Power Member

  13. Muito Obrigado !!

    vou estudar mais um bocado esta função para a compreender melhor e penso que para já isto está resolvido


    Uma vez mais muito obrigado pela disponibilidade e boa programação :P


    Cumprimentos
     

Partilhar esta Página