[求助] 关于 mysql 子查询和 IN 的问题

2019-12-27 23:10:58 +08:00
 kukala
```
... IN (SELECT `id` FROM `member` WHERE `friendsid` = ( SELECT `id` FROM `member` WHERE `id` = '1' ))...
```

这样的语句,出来的结果是 IN(2,3,4)
怎么把子查询最里面的 ID 为 1 的也添加到 IN 查询里去
比如 IN(1,2,3,4)这样
4641 次点击
所在节点    MySQL
3 条回复
0x663
2019-12-27 23:17:41 +08:00
IN (1,SELECT `id` FROM `member` WHERE `friendsid` = ( SELECT `id` FROM `member` WHERE `id` = '1' ))
0x663
2019-12-27 23:25:06 +08:00
上边是开玩笑的
```sql
IN (1,SELECT `id` FROM `member` WHERE `friendsid` = (
SELECT `id` FROM `member` WHERE `id` = '1' )
union
select 1 as id
)
```
kukala
2019-12-27 23:27:03 +08:00
@liushaokang 感谢回复!原来用 union 就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/633022

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX