Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Felipe Gusmão

Tentando montar uma escala de serviço

Recommended Posts

Olá pessoal. Preciso de ajuda.

Estou tentando fazer uma escala de serviço, acho um pouco complexa e estou indo por partes.

tenho a seguinte tabela:

pessoas_profissoes
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ id	| profissao_a	| profissao_b	|  profissao_c 	+
+-------|---------------|---------------|---------------+
+ 1	| joao		| luan		| miguel	+			
+ 2	| alexandre	| fernando	| ricardo	+
+ 3	| joaquim	| costa		| felipe	+
+ 4	| miguel	|		| mathias	+
+ 5	| henrique	|		|		+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

e outra seguinte tabela:

servico
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ data		| profi_a	| profi_b	| profi_c	+
+---------------|---------------|---------------|---------------+
+ 2014-11-15	|		|		|		+
+ 2014-11-16	|		|		|		+
+ 2014-11-17	|		|		|		+
+ 2014-11-18	|		|		|		+
+ 2014-11-19	|		|		|		+
+ 2014-11-20	|		|		|		+
+ 2014-11-21	|		|		|		+
+ 2014-11-22	|		|		|		+
+ 2014-11-23	|		|		|		+
+ 2014-11-24	|		|		|		+
+ 2014-11-25	|		|		|		+
+ 2014-11-26	|		|		|		+
+ 2014-11-27	|		|		|		+
+ 2014-11-28	|		|		|		+
+ 2014-11-29	|		|		|		+
+ 2014-11-30	|		|		|		+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Quero atualizar os campos 'profi_a' da tabela 'servico' com os dados do campo 'profissao_a' da tapela 'pessoas_profissoes'.
Eu consigo atualizar os dados parcialmente, mais eu quero que faça algo a mais, que vou explicar a seguir. Por enquanto estou usando o seguinte código (para uma só profissão), que está dando certo.
UPDATE dados set profi_a=(SELECT profissao_a FROM pessoas_profissoes WHERE id=1) WHERE data='2014-11-15'") or die(mysql_error());;
Está funcionando perfeitamente. Porém, desejo que atualize da seguinte forma:
o campo 'profi_a' com os dados do campo 'profissao_a' do 'id=1' na data 2014-11-15
o campo 'profi_a' com os dados do campo 'profissao_a' do 'id=2' na data 2014-11-16
o campo 'profi_a' com os dados do campo 'profissao_a' do 'id=3' na data 2014-11-17
o campo 'profi_a' com os dados do campo 'profissao_a' do 'id=4' na data 2014-11-18
o campo 'profi_a' com os dados do campo 'profissao_a' do 'id=5' na data 2014-11-19
Neste momento, quando terminar a ultima pessoa do campo 'profissao_a', então ele da um loop para o início, inserindo o primeiro novamente, ficando assim:
o campo 'profi_a' com os dados do campo 'profissao_a' do 'id=1' na data 2014-11-20
o campo 'profi_a' com os dados do campo 'profissao_a' do 'id=2' na data 2014-11-21
o campo 'profi_a' com os dados do campo 'profissao_a' do 'id=3' na data 2014-11-22
o campo 'profi_a' com os dados do campo 'profissao_a' do 'id=4' na data 2014-11-23
o campo 'profi_a' com os dados do campo 'profissao_a' do 'id=5' na data 2014-11-25
o campo 'profi_a' com os dados do campo 'profissao_a' do 'id=1' na data 2014-11-26
o campo 'profi_a' com os dados do campo 'profissao_a' do 'id=2' na data 2014-11-27
etc...
ficando a tabela mais ou menos assim:
servico
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ data		| profi_a	| profi_b	| profi_c	+
+---------------|---------------|---------------|---------------+
+ 2014-11-15	| joao		|		|		+
+ 2014-11-16	| alexandre	|		|		+
+ 2014-11-17	| joaquim	|		|		+
+ 2014-11-18	| miguel	|		|		+
+ 2014-11-19	| henrique	|		|		+
+ 2014-11-20	| joao		|		|		+
+ 2014-11-21	| alexandre	|		|		+
+ 2014-11-22	| joaquim	|		|		+
+ 2014-11-23	| miguel	|		|		+
+ 2014-11-24	| henrique	|		|		+
+ 2014-11-25	| joao		|		|		+
+ 2014-11-26	| alexandre	|		|		+
+ 2014-11-27	| joaquim	|		|		+
+ 2014-11-28	| miguel	|		|		+
+ 2014-11-29	| henrique	|		|		+
+ 2014-11-30	| joao		|		|		+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Minha intenção é fazer isso com todas as profissões, mas vamos por partes, uma coisa de cada vez.
Alguém pode me ajudar?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Suas tabelas tem um modelo ruim pois se surgir um profi_d será precisa alterar toda a aplicação

 

Pense numa tabela de profissionais e repense todo o modelo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.