podzapytanie w jednym wierszu zwraca więcej niż jeden wiersz - jak znaleźć duplikat?
Nie jestem wielkim ekspertem od Oracle - SQL, więc mam nadzieję, że ktoś zna dobry sposób na znalezienie „duplikatu” wpisu, który wywołuje
podzapytanie: jeden wiersz zwraca więcej niż jeden błąd wiersza
.
To jest moje oświadczenie:
SELECT
CAST(af.SAP_SID AS VARCHAR2(4000)) APP_ID,
(SELECT DR_OPTION
FROM
DR_OPTIONS
WHERE DR_OPTIONS.ID = ( select dr_option from applications where applications.sap_sid = af.sap_sid)) DR_OPTION
FROM
APPLICATIONS_FILER_VIEW af
działa na moim systemie testowym, więc jestem „pewien”, że w dostępnych rekordach danych musi być błąd, ale nie mam pojęcia, jak je znaleźć.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
3 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Powinno to dać sap_sid zduplikowanych wierszy
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
ale możesz wymusić zwrócenie tylko jednego wiersza (widzę to jako fikcję i nie polecam go używać, przynajmniej dodaj porządkowanie, aby mieć kontrolę nad zwracanym wierszem) z czymś takim:
(nie testowano, tylko wygooglowałem, jak ograniczyć wyniki w wyroczni)
Jeśli naprawisz problem z danymi (zgodnie z komentarzem A.B. Cadesa), zaleciłbym przekonwertowanie go na użycie złączeń zgodnie z odpowiedzią weenoida. zwróci również uwagę na inne problemy z danymi, które mogą pojawić się w przyszłości.
Krótko mówiąc: nigdy niczego nie naprawiłem w ten sposób ... prawdziwą odpowiedzią jest sprawdzenie wielu zwróconych wierszy i podjęcie decyzji, co chcesz zrobić.: