MySQL 列值不存在于同一个表的其他列中

问题描述 投票:0回答:3

我想运行 mysql 查询来选择表“a”中 ID 列的值不存在于 ID_REFERENCE 列中的所有行。

这是我的表格内容:

| ID | ID_REFERENCE | 总计 | 姓名 |
| 1  |     3     |   1500 |  约翰  |
| 2  |     -      |   1000 |  埃里克 |
| 3  |     1     |   1300 |  约翰  |
| 4  |     8     |   1000  |  亚历克斯  |
| 5  |     -      |   2000  |  巴尼 |
| 6  |     7     |   1800  |  阿迪斯 |
| 7  |     -      |     500  |  阿迪斯 |
| 8  |     4     |     700  |  亚历克斯 |

我需要显示这个

| ID | ID_REFERENCE | 总计 | 姓名 |
| 1  |     3     |   2800 |  约翰  |
| 2  |     -      |   1000 |  埃里克 |
| 4  |     8     |   1700   |  亚历克斯  |
| 5  |     -      |   2000  |  巴尼 |
| 6  |     7     |   2300  |  阿迪斯 |

ID列是唯一的

我很难实现希望。谢谢

mysql sql duplicates
3个回答
2
投票

使用不存在

 select t1.* from a t1 where
 not exists ( select 1 from a t2 where t2. ID_REFERENCE =t1.id)

或不用于

 select t1.* from a t1 where a.ID not in ( select  ID_REFERENCE  from a where a. ID_REFERENCE  is not null)

0
投票

您可以尝试以下 -

select min(id), max(ID_REFERENCE), sum(TOTAL),name
    from tablename
    group by name

0
投票

选择* 来自你的表 WHERE field1 NOT LIKE CONCAT('%', field2, '%');

© www.soinside.com 2019 - 2024. All rights reserved.