konto usunięte
Temat: SQL porównanie pól rekordu z następnym rekordem
Witam was mam taki problem mam jedną tabelę z liczbami a,b,c,d,e,f chcę teraz sprawdzić czy są inne rekordy w bazie w tej samej tabeli które się powtarzają problem jest w tym że wartości a,b,c,d,e,f mogą być pomieszane tzn a wartość może być tam gdzie b , b wartość tam gdzie f. Więc chce sprawdzić czy wartość a pierwszego rekordu jest gdzieś w drugim rekordzie np jeśli nie bd w a w drugim rekordzie to porówna a do b w drugim rekordzie potem do c ,d e, f.Napisałem takie małe zapytanie ale niestety to sam początek z dalszą częścią mam problem
SELECT Tabela1.[a], Tabela1.[b], Tabela1.[c], Tabela1.[d], Tabela1.[Identyfikator]
FROM Tabela1
WHERE Tabela1.[a] In (SELECT [a] FROM [Tabela1] GROUP BY [a] HAVING Count(*)>1 )
ORDER BY Tabela1.[a], Tabela1.[b], Tabela1.[c], Tabela1.[d];
To zapytanie wyświetla mi rekordy w których następny rekord też w a ma tą samą wartość, jak do tego dodać aby sprawdził też b,c,d,e,f w następnym rekordzie. Analogicznie do tego zrobiłem coś takiego :
SELECT Tabela1.[a], Tabela1.[b], Tabela1.[c], Tabela1.[d], Tabela1.[Identyfikator]
FROM Tabela1
WHERE Tabela1.[a] In (SELECT [a] FROM [Tabela1] GROUP BY [a] HAVING Count(*)>1 ) or Tabela1.[a] In (SELECT [b] FROM [Tabela1] GROUP BY [b] HAVING Count(*)>1 )
ORDER BY Tabela1.[a], Tabela1.[b], Tabela1.[c], Tabela1.[d];
Lecz nie chodzi stworzyłem dwa rekordy 1,2,3,4,5 oraz 2,1,3,4,5. Niestety po wysłaniu zapytania tabela jest pusta zaś gdy zmienię miejscami 2,1 w drugim rekordzie to zapytanie wyświetla mi te dwa rekordy. Gdzie jest problem przecież wstawiłem or więc jeśli w pierwszym polu nie będzie to żeby poszedł do drugiego pola czyli b. Proszę was o pomoc