我正在尝试编写与银行帐号更改有关的数据查询。客户在其银行帐号上执行的每个操作都在表中的单独一行中。有一个新值列和一个旧值列。如果是银行更新,则新值和旧值都会有一个数字。如果是新设置,则只有新值才有值。一个人可以有多个帐户,这些不同的帐户可以有相同的银行帐户。
我需要解决的两个查询是: 如果是新设置-该人的历史记录中使用的银行帐户 如果是更新-该人员的历史记录中使用的银行帐户。
我需要查看该值是否在新值列中出现多次,以及是否在旧值列中至少出现一次。但我不知道
select c.client_id
from client c,
(SELECT c.client_id, a.new_column_value, a.old_column_value
FROM client c,
bank_number_table a
where c.client_id=a.client_id) bank_number_history
where c.client_id=bank_number_history.client_id
AND bank_number_history.old_column_value is null
group by c.client_id
HAVING count(bank_number_history.new_column_value)>1