ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Unir 2 tabelas pelo "Nome da Coluna" [RESOLVIDO]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Aler
Novato
Novato


Registrado: Quinta-Feira, 29 de Mai de 2014
Mensagens: 2

MensagemEnviada: Ter Out 14, 2014 2:10 pm    Assunto: Unir 2 tabelas pelo "Nome da Coluna" [RESOLVIDO] Responder com Citação

Olá a todos.
Há em SQL alguma instrução para unir 2 tabelas, usando o "nome das colunas" e "não o conteúdo das mesmas"? Explico:

Tenho uma tabela "Equipo" (de equipamentos) com 30 campos para valores:
Equipo_PAR1... Equipo_PAR2... Equipo_PAR30.
Nestes campos vou armazenar apenas "valores".

Tenho uma tabela "Cadpar" (de tipos de parâmetros), que será fixa em 30 registros, sendo:
CPAR_ID tinyint(4) NOT NULL AUTO_INCREMENT,
CPAR_NOME varchar(100) NOT NULL DEFAULT 'LIVRE',
CPAR_ORDEM tinyint(4) DEFAULT NULL,
CPAR_BASE decimal(10,2) DEFAULT NULL,
CPAR_MIN decimal(10,2) DEFAULT NULL,
CPAR_MAX decimal(10,2) DEFAULT NULL,
Nesta tabela o usuário poderá dar "nome" a um parâmetro e especificar, os valores Padrão (base), mínimo e máximo, além da ordem desejada para apresentação.

Usando MYSQL, gostaria de apresentar todos os dados da tabela Equipo e também os nomes da tabela Cadpar, ou seja:

Equipo_par1 = tenho um valor + Cadpar.Cpar_nome onde Cadpar.Cpar_id fosse 1
Equipo_par2 = tenho um valor + Cadpar.Cpar_nome onde Cadpar.Cpar_id fosse 2
E assim por diante.

Tive que fazer isso, pois o usuário quer a liberdade de ter (ou não) 30 campos de parâmetros e flexível.

Sei que não tenho um campo "ID" para associar uma tabela à outra.

Será que tem como fazer algo, tipo "Typecast" dos nomes de uma tabela em relação ao ID de outra ?

Ou a única solução seria mesmo montar outra tabela com:
Equipo_ID + 30 campos para os valores e associar à tabela de tipos de parâmetros ?

Desde já agradeço a todos.

- Não encontrando uma solução rápida e prática a respeito, resolvi retirar todos os campos da tabela "Equipo" e criei uma tabela "Parms" com:

PARMS.Equipo_ID
PARMS.Cadpar_ID
PARMS.valor

Agora fica fácil selecionar todos os registros da tabela Parms onde o Equipo_ID seja o equipamento que eu desejo, e linkar com a tabela Cadpar para apenas pegar Cadpar.Nome.


Editado pela última vez por Aler em Sex Out 17, 2014 2:49 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
mail.marlon@gmail.com
Novato
Novato


Registrado: Segunda-Feira, 8 de Abril de 2013
Mensagens: 11

MensagemEnviada: Sex Out 17, 2014 12:35 pm    Assunto: Re: Unir 2 tabelas pelo "Nome da Coluna" e não pelo conteúdo. Responder com Citação

Aler escreveu:
Olá a todos.
Há em SQL alguma instrução para unir 2 tabelas, usando o "nome das colunas" e "não o conteúdo das mesmas"? Explico:

Tenho uma tabela "Equipo" (de equipamentos) com 30 campos para valores:
Equipo_PAR1... Equipo_PAR2... Equipo_PAR30.
Nestes campos vou armazenar apenas "valores".

Tenho uma tabela "Cadpar" (de tipos de parâmetros), que será fixa em 30 registros, sendo:
CPAR_ID tinyint(4) NOT NULL AUTO_INCREMENT,
CPAR_NOME varchar(100) NOT NULL DEFAULT 'LIVRE',
CPAR_ORDEM tinyint(4) DEFAULT NULL,
CPAR_BASE decimal(10,2) DEFAULT NULL,
CPAR_MIN decimal(10,2) DEFAULT NULL,
CPAR_MAX decimal(10,2) DEFAULT NULL,
Nesta tabela o usuário poderá dar "nome" a um parâmetro e especificar, os valores Padrão (base), mínimo e máximo, além da ordem desejada para apresentação.

Usando MYSQL, gostaria de apresentar todos os dados da tabela Equipo e também os nomes da tabela Cadpar, ou seja:

Equipo_par1 = tenho um valor + Cadpar.Cpar_nome onde Cadpar.Cpar_id fosse 1
Equipo_par2 = tenho um valor + Cadpar.Cpar_nome onde Cadpar.Cpar_id fosse 2
E assim por diante.

Tive que fazer isso, pois o usuário quer a liberdade de ter (ou não) 30 campos de parâmetros e flexível.

Sei que não tenho um campo "ID" para associar uma tabela à outra.

Será que tem como fazer algo, tipo "Typecast" dos nomes de uma tabela em relação ao ID de outra ?

Ou a única solução seria mesmo montar outra tabela com:
Equipo_ID + 30 campos para os valores e associar à tabela de tipos de parâmetros ?

Desde já agradeço a todos.


Por que não um campo ID?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB