verifique combinação de registros na tabela

votos
1

I tem dois conjuntos de valores como X, Y, Z e 1,2 Há uma mesa A com duas columns.I quiser para validar que em registos uma tabela com todas as combinações existe independentemente de duplicados. por exemplo

X 1

Y 1

Z 1

X 2

Y 2

Z 2

Desde já, obrigado!

Publicado 27/08/2009 em 04:03
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

O seguinte deve trabalhar, não importa os valores:

select col1, col2
from (select distinct col1 from combtest), (select distinct col2 from combtest)
minus
select col1, col2
from combtest

Primeiro ele recebe as combinações possíveis em seguida, subtrai as combinações reais.

Respondeu 27/08/2009 em 05:22
fonte usuário

votos
1

Isto irá trabalhar com qualquer conjunto de dados e não assuma que você sabe os valores que estarão em cima da mesa.

A consulta retorna todas as linhas que estão faltando. Você pode facilmente transformar isso em uma instrução de inserção para preencher sua tabela.

SELECT *
FROM
(select * from (SELECT DISTINCT col1 FROM table1) CROSS JOIN (SELECT DISTINCT col2 FROM table1)) AS t1
LEFT OUTER JOIN table1 ON t1.col1 = table1.col1 AND t1.col2 = table1.col2
WHERE
table1.col1 is null
Respondeu 27/08/2009 em 04:28
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more