 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
Aler Novato

Registrado: Quinta-Feira, 29 de Mai de 2014 Mensagens: 2
|
Enviada: Ter Out 14, 2014 2:10 pm Assunto: Unir 2 tabelas pelo "Nome da Coluna" [RESOLVIDO] |
|
|
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 |
|
 |
mail.marlon@gmail.com Novato

Registrado: Segunda-Feira, 8 de Abril de 2013 Mensagens: 11
|
Enviada: Sex Out 17, 2014 12:35 pm Assunto: Re: Unir 2 tabelas pelo "Nome da Coluna" e não pelo conteúdo. |
|
|
| 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 |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|