mysql - 将mysql选择非聚合转换为mssql
问题描述
我不会假装完全了解这个 mysql 选择中发生了什么,但我需要它的 mssql 等价物。它依赖于将 mysql ONLY_FULL_GROUP_BY 配置设置为默认值。
SELECT *, IFNULL(cast(MAX(bodbedrag) as decimal(10,2)),Startprijs) as prijs
FROM Voorwerp v LEFT JOIN
Bod b
on v.voorwerpnummer=b.voorwerp
GROUP BY Voorwerpnummer
基本上我希望我能得到这个mysql查询在mssql中得到的完全相同的结果。但是,您不能像在 mysql 中那样在 mssql 中选择非聚合。
我尝试在http://www.sqllines.com/online上使用该工具对其进行转换,但是它不够聪明,无法确定您无法在 mssql 中选择非聚合
解决方案
SELECT * FROM (SELECT *, ISNULL(cast(hoogstebod as decimal(10,2)) ,Startprijs) as prijs
from voorwerp left join (select max(bodbedrag) as hoogstebod ,voorwerp from bod
group by voorwerp) t2
on voorwerpnummer = voorwerp) as combinetable
found a fix
推荐阅读
- freemarker - 如何在 FreeMarker 中嵌套相同的自定义指令?
- java - curl请求minikube超时,不明白为什么
- oracle - oracle中如何使用sql游标属性
- python - Numpy:如何将 (4, ) 数组和 (9, 9) 数组添加到 (9, 9, 4) 数组?
- python-3.x - 通过拆分值在熊猫数据框中创建一列
- python - 谷歌云数据流流+批处理
- javascript - Reactjs:如何在特定行上编辑表格?
- string - Linux中的语句结果为字符串比较错误
- javascript - indexedDB:“_proto_”在数据库对象中做什么?
- javascript - 为什么我的 QuillJS Delta 不能插入空格?