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

子句中WHERE的MySQL问题

潘青青
2023-03-14
问题内容

我在mysql中的“ where in”子句中遇到问题,我无法弄清楚出了什么问题。所以我有两张桌子…

1)座位

(int)seat_id

2)寄存器

(int)register_id

(varchar)seat_ids-以逗号分隔的席位,例如102,103,104

因此,我要获取匹配结果的查询是

SELECT * FROM Seats s, Registers r 
WHERE s.seat_id IN (r.seat_ids) 
GROUP BY s.seat_id

有人可以找出问题所在吗?谢谢,


问题答案:

IN要求列表是文字列表,而不是逗号分隔的字符串。用途FIND_IN_SET为:

WHERE FIND_IN_SET(s.seat_id, r.seat_ids)


 类似资料:
  • 我对< code>where子句中的case语句有一些问题。如果有人知道如何解决这个问题,请帮助我!谢谢你。 下面是日志中的错误: 原因:org.hibernate.hql.internal.ast.QuerySyntaxException: 意外的 AST 节点: 和靠近第 1 行, 列 589 [从 com.itengine.bettinggateway.dao.事件中选择 e.事件 tp.事

  • 问题内容: 我有两个要加入的表。 我想要类别表中的所有类别以及用户在category_subscriptions表中订阅的所有类别。 基本上这是我到目前为止的查询: 这很好用,但是我想在查询的末尾添加一个where子句,然后从本质上使它成为一个内部/等参连接。 如何仅使用一个查询获取所有类别以及特定用户订阅的所有类别? category_id是类别表和user_category_subscript

  • 问题内容: 我只想要从当前日期开始的日期。我如何在CodeIgniter中询问此问题?“ end_date”是DATETIME(Ymd H:i:s)。 这不起作用: 问题答案: 您需要使用PHP格式化日期,以便采用MySQL想要的格式。 试试这个: 您也可以为此使用MySQL 。 编辑:如果要使用别名 ,则可以使用HAVING代替WHERE。

  • 问题内容: 我们得到错误-“ where子句不明确的列’CategoryID’”。 告诉我请怎么会好? 问题答案: 您得到的错误告诉您子句中的列是不明确的,这意味着系统存在标识适当列的问题,因为存在多个列。 为了解决此问题,请使用别名指定要用于子句的列: 我还更改了查询以获取相同的结果,但我没有使用+子句+子查询的组合,而是使用了子句。使用此查询,您只需定义一次所需的内容,它将自动获取每个子类别。

  • 问题内容: 假设我有这张桌子 我想返回第一行,其中所有先前现金的总和大于某个值: 因此,例如,如果我要返回第一行,其中所有先前现金的总和都大于500,则应返回到第3行 如何使用mysql语句执行此操作? 使用 不起作用 问题答案: 您只能在HAVING子句中使用聚合进行比较: 该子句要求您定义GROUP BY子句。 要获得第一行,其中所有先前现金的总和都大于某个值,请使用: 由于聚合函数发生在子查

  • 问题内容: 我想搜索我的表,其中有一列名字和一列姓氏。我目前接受来自某个字段的搜索字词,并将其与两列进行比较,一次 这对于单个单词搜索词可以正常工作,但结果集包含名称为“ Larry”的所有人。但是,如果有人输入名字然后输入空格,然后输入姓氏,我希望搜索结果更窄。我已经尝试了以下方法,但没有成功。 有什么建议吗? 编辑: 我正在测试的名称是“拉里·史密斯”。数据库将“ Larry”存储在“ fir