有一个表存储有关卡片的信息。
id_card, card_number, card_value当客户发卡时,他可以选择:数码卡或带塑料的数码卡。
发行数字卡时,card_value变为= 621
当使用塑料发行数字卡时,card_value写2行621和622行。
622 -塑料卡
任务是只显示数字卡,card_value = 621
但是当我选择没有塑料的数字卡(621)时,数字卡和带有塑料的数字卡都包括在选择中。
这是合乎逻辑的,因为字段的值实际上包含621和622。
但是,如果621和622在一起发现,如何才能避免在选择中显示记录呢?
我想这可以通过一些额外的列来实现,比如id_card,但我怀疑这是正确的。
我使用SQL (ORACLE 12)
发布于 2022-04-07 14:25:10
如果621,622可以在同一字段中,那么:
WHERE card_value NOT LIKE '%622%
如果它们是单独的行,我将假设每个client都有一个唯一的标识符,因为OP中没有样本数据。
SELECT *
FROM t1
WHERE unique_client_id NOT IN (SELECT unique_client_id FROM t1 where card_value = 622) https://stackoverflow.com/questions/71783726
复制相似问题