Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, beleza?
To desenvolvendo um projeto e tenho uma tabela de relacionamentos muito para muito, neste esquema:
valor1 | valor2
x | y
y | x
Agora, o lance é o seguinte, eu quero reconhecer estes dois registros como se fossem unicos (são os mesmos dados apenas em ordem diferente).
Como eu faço este "select"?
valeu galera.
Imagino, que sendo um relacionamento muito para muitos, você possui 3 tabelas.
tabela_valores1
tabela_valores2
tabela_valores12
Sendo que a tabela_valores1, deve ter um campo chamado 'valor', assim como a tabela_valores2 tenha um campo chamado 'valor'.
Você teria que ter, na tabela_valores12, PK em ambos os campos (valor1, valor2), e vice-versa, como unique (valor2, valor1).
Ao colocar como primary key ou unique, não tem como os pares de valores serem iguais, nunca.
Por isso que normalmente uma tabela de relacionamento (no caso tabela_valores12) deveria ser composta por IDs, e não pode valores (estou presumindo estas informações, já que você não deu mais nenhum detalhe). Daí no caso, a tabela_valores1 e valores2 teria um auto-increment na PK ID, e seria utilizada na tabela_valores12 para que a relação fosse feita.
Numa tabela de relacionamento de muito para muitos, não poderia ter um mesmo PAR de relações, senão iria ser um caos (vários elementos duplicados por exemplo).
Paulo.
Eu to usando o ID sim, me referi ali como valor só pra abstrair a ideia.
Então o segredo é uma chave composta?
Você poderia dar um exemplo em codigo sql pra mim poder entender essa questão da chave composta? (eu sempre apanhei disso)
Abração e obrigado cara
>
Imagino, que sendo um relacionamento muito para muitos, você possui 3 tabelas.
tabela_valores1
tabela_valores2
tabela_valores12
Sendo que a tabela_valores1, deve ter um campo chamado 'valor', assim como a tabela_valores2 tenha um campo chamado 'valor'.
Você teria que ter, na tabela_valores12, PK em ambos os campos (valor1, valor2), e vice-versa, como unique (valor2, valor1).
Ao colocar como primary key ou unique, não tem como os pares de valores serem iguais, nunca.
Por isso que normalmente uma tabela de relacionamento (no caso tabela_valores12) deveria ser composta por IDs, e não pode valores (estou presumindo estas informações, já que você não deu mais nenhum detalhe). Daí no caso, a tabela_valores1 e valores2 teria um auto-increment na PK ID, e seria utilizada na tabela_valores12 para que a relação fosse feita.
Numa tabela de relacionamento de muito para muitos, não poderia ter um mesmo PAR de relações, senão iria ser um caos (vários elementos duplicados por exemplo).
como serão essas tuas duas tabelas???
qual será o relacionamento entre elas?