mysql - 如何为子查询添加值?

标签 mysql sql database subquery

我有这个简单的查询:

SELECT DISTINCT images.id
FROM `images`
WHERE `images`.`user_id` IN
    (SELECT following_id
     FROM `follows`
     WHERE `follows`.`follower_id` = 5717
       AND `follows`.`accepted` = 1)
ORDER BY id DESC LIMIT 1000
OFFSET 0

我想将一个值附加到子查询返回的值列表中。所以如果子查询返回:

23
59
14
77

我希望它是:

23
59
14
77
86

(注意底部额外的 86)。

最佳答案

如果您总是希望添加 86,那么只需在子查询上使用 UNION ALL,这将确保 86 始终包含在您的 IN 子句子查询中:

SELECT DISTINCT spentits.id
FROM `spentits`
WHERE `spentits`.`user_id` IN
    (SELECT following_id
     FROM `follows`
     WHERE `follows`.`follower_id` = 5717
       AND `follows`.`accepted` = 1
     UNION ALL
     SELECT 86)
ORDER BY id DESC LIMIT 1000
OFFSET 0

关于mysql - 如何为子查询添加值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17224482/

相关文章:

mysql - 高非小数价格的数据类型

java - 如何在使用 spring jdbc 模板获取时自动格式化时间戳列?

mysql - 标准差 (STDDEV) 是否适合该工作?

java - oracle 11g resultSet如何获取表名

mysql - 获取我的查询的多个结果

mysql - 如何根据时间显示当前最近的行数?

mysql - 如何找到最常见和最不常见的数字

sql - 将 Oracle 序列重置为现有列中的下一个值的最佳方法?

c# - 自动发送电子邮件

java - 如何使用java类在jsp页面中显示数据库中的值?