当前位置: 首页 > 面试题库 >

MySQL表->是否可以在同一查询中多次返回同一行?

姬泰
2023-03-14
问题内容
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筹码€2.50
id-> 1筹码€2.50
id-> 2可口可乐€1.60
--------------------
总计€6.60



问题答案:

您可以加入另一个表,例如

SELECT * FROM menu
INNER JOIN order_items ON menu.item_id = order_items.item_id
WHERE order_id = 123;

或者只是在您的应用程序中复制它们。

您实际上不需要做您所要的。



 类似资料:
  • 问题内容: 假设我具有以下表格结构: 是否可以运行单个查询以结合以下两个条件: 此人正在关注多少用户 从t1 WHERE userID_follower =“。$ myID”中选择COUNT(id)。。” 有多少用户关注此人 从t1 WHERE userID_following =“。$ myID”中选择COUNT(id)。 谢谢。 问题答案: 在MySql中,您可以在条件上使用该函数,因为错误条

  • 问题内容: 我有一个包含多个CTE的相当复杂的查询,但是其他人都从中提取了1个主要CTE,这是否会导致该主要CTE多次执行? 问题答案: 您可以这样使用CROSS JOIN: 这将防止的多次执行(有关实际执行计划,请参见属性)。 示例:如果执行此查询 使用数据库,那么实际的执行计划将是

  • 问题内容: 在我的node.js Express应用程序中,我正在使用superagent中间件进行ajax调用。该调用使用Node- mysql 中间件通过许多数据库查询来获取复杂数组中的数据库数据。 在粘贴代码之前,我试图用语言解释我要做什么,尽管代码足以说明它想要做什么,另外, 第一个回调 中的 所有异步操作都应该以同步方式完成。 说明: 在第一个查询的回调中,将执行一次for循环以多次运行

  • 问题内容: 我有多个IN条件与子查询。 也许有更好的解决方案?就像是: 问题答案: 重新编写以代替使用。即,当某标签中没有某行的somethingId等于s.id并且id为1、2或3时,即从S返回。 也是“ null-safe”。(将完全不返回任何行。)

  • 问题内容: 如果行达到一定数量,我想压缩结果。 然后,客户端程序将解压缩结果和过程。 这是具有客户端/服务器体系结构的桌面,某些客户端通过vpn连接。 客户端连接后,它将向服务器发送数据。服务器完成处理后,客户端将从服务器下载更新的数据。 客户位于几个城镇,平均50-100公里。离开。他们将使用vpn通过Internet连接。但这是使用vpn或其他方式实施的最初计划,但尚未实施。 问题答案: 有一