Я пытаюсь написать оператор удаления в sybase sql, но он не выполняет то, что я хочу.
delete
from
table1
from
table1 as g, inputfile as s
where
g.pool_no = substring(s.pool_no, 3, 8)
and (g.fha_case_no = str_replace(ltrim(str_replace(substring(s.fha_case_no, 3, 15), '0', ' ')), ' ', '0')
or g.fha_case_no = substring(s.fha_case_no, 3, 15))
Это то, что у меня есть. inputfile - это файл данных, который мы пытаемся импортировать в table1. Таблица очень беспорядочная, с тоннами записей для каждой комбинации pool_no и fha_case_no (отдельные ключевые столбцы для различения guish клиентов). Поэтому я хочу удалить записи, соответствующие этим двум полям, перед импортом нового, чтобы немного очистить таблицу. Однако этот оператор не выполняет никаких удалений. Когда я запускаю оператор без
g.pool_no = substring(s.pool_no, 3, 8)
, он работает и удаляет все, как задумано, поэтому, возможно, что-то не так с функцией подстроки.
Пример данных в этих столбцах
- s.pool_no = = "231614"
- s.fha_case_no = = "000000012343105"
подстрока и str_replace выполняются для удаления = "" и ведущие нули, чтобы соответствовать тому, как данные хранятся в таблице. есть предложения, как я могу это исправить?