MySQL 表 -> 你能在同一个查询中多次返回同一行吗?

标签 mysql

SELECT * FROM menu WHERE item_id = 1 OR item_id = 2 OR item_id = 3;

上述语句返回 3 行。 但是下面的语句只返回 2 行。

SELECT * FROM menu WHERE item_id = 1 OR item_id = 1 OR item_id = 2;

我明白为什么喜欢,但是有没有办法强制将 item_id 1 返回两次???

我想要返回的示例:

id -> 1 Chips €2.50
id -> 1 Chips €2.50
id -> 2 Coke €1.60
--------------------
Total €6.60

最佳答案

你必须做这样的事情:

SELECT * FROM menu WHERE item_id = 1
UNION ALL
SELECT * FROM menu WHERE item_id = 1
UNION ALL
SELECT * FROM menu WHERE item_id = 2

关于MySQL 表 -> 你能在同一个查询中多次返回同一行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1109113/

相关文章:

Mysql不相等

mysql - 要获取的上一行值

MySQL 存储过程

php - 基于 Mysql 的 Listview 当点击 item 时返回第一条 Mysql 记录

sql - MySQL:随机播放有限的查询结果?

php - 我的 laravel 查询仅返回数据库中的最后一条记录

mysql - 合并日期和时间值并将其插入到 asp.net 中的数据库中

php - java查询链接错误

php - 如何使用php在邮件功能中发送jquery?

python - 从 perl 转向 python,我想知道 python 是否有类似 DBI 的东西?