当前位置: 首页 > 知识库问答 >
问题:

SQL/MyBATIS,由上一个case语句生成的查询列值

钱远
2023-03-14

除了这个,我还有其他的条件。

如有任何指示,将不胜感激。

共有1个答案

欧阳正谊
2023-03-14

不清楚您是想在执行SQL语句之前根据参数(在应用程序中)计算新值,还是作为SQL语句的一部分(在数据库引擎中)计算新值。

在您的应用程序

如果在基于参数执行SQL之前计算了值,则可以使用 。例如:

<select ...>
  <bind name="newValue" value="colname == null ? 'Y' : 'N'" />
  select * from t where status = #{newValue}
</select>
<select ...>
  select *,
    concat('Status is: ', newValue) as long_status
  from (
    select t.*,
      case when colname is null then 'Y' else 'N' end as newValue
    from t
  ) x
</select>
 类似资料:
  • 问题内容: 我只想获取一个表“ b”的值,如果表“ a”的值是“-”如果表“ b”的值是空的,那么即使它是“-”,也要获取表“ a”的值 Microsoft Access对以下查询说“ Missing operator”: 我认为该错误是在CASE表达式行上。 问题答案: MS Access不支持语句。用途: 我不确定Access是否支持别名,但是它可能支持 注意(尽管标签正确),问题的标题可能会

  • 问题内容: 我想知道是否可以在case语句的then部分中指定多个值? 我已经在使用此代码的地方附加了一大段代码,以加入查询中的某些表中。我已在代码段中添加了评论。 问题答案: 这有点丑陋,但假设HeadQuarters不是十进制/数字类型,而只是整数值,

  • 问题内容: 我有以下SQL表 部 雇员 我想写一条返回的声明 我有 当然,这缺少“男性雇员的数量”。由于不确定,我被困在这里,在哪里指定附加子句e.gender = male。 我忘了提:HQL或标准会很好。 问题答案: 假设原始查询和架构正确:

  • 本节介绍子查询,子查询是嵌套在另一个语句(如:,,或语句)中的查询。 SQL Server中常用的子查询语句如下: 子查询 - 介绍子查询概念并向您展示如何使用各种子查询类型来查询数据。 相关子查询 - 介绍相关子查询概念以及如何使用。 EXISTS - 测试子查询返回的行的存在性。 ANY - 将值与子查询返回的单列值集进行比较,如果值与集合中的任何值匹配则并返回。 ALL - 将值与子查询返回

  • 问题内容: 在SQL Server 2005上,我正在尝试查询此选择语句 它返回下面的错误 消息156,级别15,状态1,第4行关键字“ IN”附近的语法错误。 请给我一些有关我的代码可能出问题的建议。 问题答案: 应该只是。 您正在混合表达式的2种形式。

  • 我在mysql查询中使用CASE语句,我必须检查同一查询中是否存在列。 有可能这样做吗?如果是,请帮忙。 我的查询为例- 当“Status”时选择CASE column1,然后选择“Status”当“value”时(当id不为NULL时选择CASE id,然后选择“status1”,否则选择“status2”结束为table1 where condition中的ScheduleStatus)结束为