Witam was napisałem zapytanie które sprawdza mi pola w rekordach tzn. sprawdza czy wartość z pola a jest gdzieś w następnym rekordzie potem pole b,c,d,e,f jeśli wszystkie są gdzieś w którymś rekordzie to mi wypisuje ten rekord.
Dajmy dla przykładu mamy rekordy 1,2,3,4,5,6 oraz 6,5,4,3,2,1. Zapytanie sprawdza czy w tabeli są jakieś rekordy które mają te wartości w polach od a-f więc sprawdza czy wartość a jest w polach od a do f w następnym rekordzie i tak samo z pozostałymi polami, jeśli jest to wypisuje mi ten rekord i sprawdza następny
O to zapytanie :
SELECT dane.[a], dane.[b], dane.[c], dane.[d], dane.[e], dane.[f], dane.[ID], dane.[NR], dane.[DD], dane.[MM], dane.[RR]
FROM dane
WHERE (((dane.[a]) In (SELECT [a] FROM [dane] As Tmp GROUP BY [a],[b],[c],[d],[e],[f] HAVING Count(*)>1 And ([a] = [dane].[a] or [a] = [dane].[b] or [a] = [dane].[c] or [a] = [dane].[d]or [a] = [dane].[e] or [a] = [dane].[f]) And ([b] = [dane].[b] or [b] = [dane].[a] or [b] = [dane].[c] or [b] = [dane].[d] or [b] = [dane].[e] or [b] = [dane].[f]) And ( [c] = [dane].[c] or [c] = [dane].[a] or [c] = [dane].[b] or [c] = [dane].[d] or [c] = [dane].[e] or [c] = [dane].[f]) And ([d] = [dane].[d] or [d] = [dane].[a] or [d] = [dane].[b] or [d] = [dane].[c] or [d] = [dane].[e] or [d] = [dane].[f] )And ([e] = [dane].[e] or [e] = [dane].[a] or [e] = [dane].[b] or [e] = [dane].[c] or [e] = [dane].[d] or [e] = [dane].[f] ) And ([f] = [dane].[f] or [f] = [dane].[a] or [f] = [dane].[b] or [f] = [dane].[c] or [f] = [dane].[d] or [f] = [dane].[e] ))))
ORDER BY dane.[a], dane.[b], dane.[c], dane.[d], dane.[e], dane.[f]