Когда я использую свой код, я получаю больше дубликатов, чем могу обработать.
Я немного неопытен в SQL, поэтому может возникнуть проблема с тем, как я его пишу.
SELECT
OTP, TRDT, TRTM, OPER, PCKZ, SKU, RFUN
FROM COP200, RAP100, RHB, OCB
WHERE ORDN = LORDNO
AND AISL = LAISL
AND BAY = LBAY
AND LEVL = LLEVL
AND TRDT BETWEEN (CURRENT_DATE -1 DAY) AND CURRENT_DATE
AND LPAD(REPLACE(PCN,''”), 16, 0) = TREF
Код работает нормально, пока я не добавлю в таблицу «COP200».
Таблица COP200 содержит только один фрагмент строки, который мне нужен (но содержит много данных), и связана с этой линией (PCN является частью COP200)
AND LPAD(REPLACE(PCN,''”), 16, 0) = TREF
Поэтому, если я уберу эту строку выше, а строку ниже
SELECT OTP
, я получу 0 дубликатов.
Нужно ли писать код по-другому? Должен ли я использовать JOIN вместо ГДЕ + И?