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

Duvida num Update em SQL

Discussão em 'Programação' iniciada por GanondorfTM, 29 de Abril de 2009. (Respostas: 3; Visualizações: 577)

  1. GanondorfTM

    GanondorfTM Power Member

    Boas!

    É o seguinte: eu tenho uma tabela colaborador. Cada colaborador pode trabalhar em mais do que um hospital e por isso, na tabela existe o id_hospital, id_hospital2, id_hospital3 e id_hospital4.

    A minha questão é: eu quero fazer um update dum hospital dum colaborador, mas cujo valor é X, ou seja, eu quero mudar o conteúdo dum row, não fazendo a pesquisa através da coluna, mas através do conteudo do row.

    É possivel fazer uma pesquisa na horizontal?

    Fiquem bem.
     
  2. GanondorfTM

    GanondorfTM Power Member

    Boas!

    Parece que consigo resolver sempre os meus problemas antes de alguém responder lol.

    Acabei por contornar o problema de outra maneira.

    De qq maneira, obgd ;)
     
  3. marcobjorge

    marcobjorge Power Member

    Olá,

    Se percebi bem o que queres (fazer update a uma linha se o gajo trabalhar no hospital <VAL1>)

    Código:
    update <TABLE> 
    set <ATTR>=<VAL> 
    where  id_hospital=<VAL1> OR id_hospital2=<VAL1> OR id_hospital3=<VAL1> OR id_hospital4=<VAL1>;
    
    Aparte do tópico a tua tabela não está normalizada:
    E se o colaborador trabalhar em 5 hospitais? Vais adicionar outra coluna?
    E se ele só trabalhar num hospital? Vai ter aqueles campos todos a null?

    Devia ser uma tabela como:
    Código:
    <id colaborador><id hospital>
    <marco><hospital santa maria>
    <marco><hospital dos covoes>
    <marco><maternidade alfredo da costa>
    <marco><huc>
    <[B][URL="http://forum.zwame.pt/member.php?u=136079"][B][COLOR=LimeGreen]GanondorfTM[/COLOR][/B][/URL][/B]><huc>
    
     
  4. boas,
    tu dizes q tens na tabela colaborador o id_hsp1, id_hps2, por ai fora certo?
    isto e 1 hipotese rara, mas supoe q tens 1 colaborador a trabalhar em 50 hospitais diferentes. vais colocar 50 campos? nao parece bem :p ou entao tens la 10 campos id_hsp e ele trabalha apenas num deles tudo o resto é null.
    Porque e que nao crias uma tabela auxiliar q relaciona o hsp com o colaborador e smpre que queres fazer o tal update dizes o calaborador 1 trabalha no hsp 1, se quiseres que ele trabalhe no hsp 2 alteras nessa tabela e por aí fora. e simples e tornas o teu modelo de dados normalizado.
     

Partilhar esta Página