首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Where-In Multi子句的MSSQL问题

Where-In Multi子句的MSSQL问题
EN

Stack Overflow用户
提问于 2018-05-08 16:02:25
回答 2查看 55关注 0票数 0

我使用了两种不同的数据库POSTGRE-SQL和MSSQL以及java-hibernate标准API。条件的Sql转换如下所示:

Select * From table t WHERE (t.a, t.b) IN (SELECT max(this_.a) AS y0_, this_.b AS y1_ FROM table this_ GROUP BY this_.id )这个多列中的Where查询在PostGre数据库中工作得很好,但不能与MSSQL一起使用。有人建议我使用.Can解决多列与聚合函数的比较吗?

EN

回答 2

Stack Overflow用户

发布于 2018-05-08 16:10:14

使用联接:

代码语言:javascript
复制
Select * 
From table t 
inner join (
    SELECT    max(this_.a) AS y0_
            , this_.b  AS y1_ 
    FROM  table this_ 
    Group by this_.b) a on t.a = a.y0_ and t.b = y1_
票数 1
EN

Stack Overflow用户

发布于 2018-05-08 16:16:09

如果是varchar

代码语言:javascript
复制
SELECT * 
FROM table t 
WHERE (t.a + '-' + t.b) 
IN (SELECT (max(this_.a) + '-' + this_.b)
    FROM  table this_ )

if为int

代码语言:javascript
复制
SELECT * 
FROM table t 
WHERE (CONVERT(nvarcahr(32), t.a) + '-' + CONVERT(nvarcahr(32), t.b)) 
IN (SELECT (CONVERT(nvarcahr(32), max(this_.a)) + '-' + CONVERT(nvarcahr(32),this_.b))
    FROM  table this_ )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50228805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档