SQL sprawdzenie pola z innymi

0

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]
 
0

zapomniałeś zadać pytanie...

0

Zapytanie miało mi porównać pola z rekordów i wyświetlić jeśli wszystkie wartości z pola są w innym rekordzie. Niestety zapytanie nie działa tak jak bym chciał ponieważ wyświetla tylko rekordy w których liczba a jest taka sama na pierwszym miejscu tzn 1,2,3,4,5,6 i wyświetla rekordzy 1,3,2,4,5,6 lub 1,4,2,3,5,6 ale już 6,5,4,3,2,1 a w zapytaniu jest żeby sprawdziło mi czy wartość z pola a jest w b,c,d,e,f a w tym wypadku jest w f i w tedy gdy jest to sprawdz kolejne pole i tak dalej i jeśli wszystkie będą to wyświetla ten rekord.

Widać to zapytanie wyświetla mi tylko te elemnty gdzie wartość pola pierwszego jest równa wartości pola pierwszego następnego rekordu

0

Ktoś jest w stanie pomoc ?

Chodzi o to że chce sprawdzić pola rekordu z innymi rekordami :

mamy 1 rekord sprawdzm jego pola ze wszystkimi polami rekordu numer 2 potem 3 ,4,5 potem drugi rekord i jego pola sprawdzam z polami w rekordach 1,3,4,5 itd. Jeśli wszystkie wartości z rekordu są w jakimś innym rekordzie to wypisuje rekord z którego bierzemy pola do sprawdzenia lub sprawdzany .

Ze sprawdzaniem chodzi mi o to że mamy pola 1,2,3,4 i sprawdza mi w następnym rekordzie czy gdzies w jego polach nie ma 1,2,3,4 jeśli wszystkie są to wypisuje mi ten rekord i sprawdza następny itd przez wszystkie rekordy

1 użytkowników online, w tym zalogowanych: 0, gości: 1