小编Chh*_*ath的帖子

如何比较同一个表中的记录列?

这是我的测试表数据:

测试

ID      Name            Payment_Date   Fee                Amt
1       BankA           2016-04-01     100                20000
2       BankB           2016-04-02     200                10000
3       BankA           2016-04-03     100                20000
4       BankB           2016-04-04     300                20000
Run Code Online (Sandbox Code Playgroud)

我试图比较每个数据记录的字段名称,费用和金额,以查看是否有相同的值.如果它们具有相同的值,我想在那些记录上标记"Y".这是预期的结果

ID      Name            Payment_Date   Fee                Amt      SameDataExistYN
1       BankA           2016-04-01     100                20000    Y
2       BankB           2016-04-02     200                10000    N
3       BankA           2016-04-03     100                20000    Y
4       BankB           2016-04-04     300                20000    N
Run Code Online (Sandbox Code Playgroud)

我在下面尝试了这两种方法.但我正在寻找任何其他解决方案,所以我可以选择最适合我的工作.

方法1.

select t.*, iif((select count(*) from testing where name=t.name and fee=t.fee and amt=t.amt)=1,'N','Y') as SameDataExistYN from testing t
Run Code Online (Sandbox Code Playgroud)

方法2.

select t.*, …
Run Code Online (Sandbox Code Playgroud)

mysql sql subquery self-join nested-select

6
推荐指数
1
解决办法
559
查看次数

标签 统计

mysql ×1

nested-select ×1

self-join ×1

sql ×1

subquery ×1