关键词:
【中文标题】将 Oracle SQL 转换为 LLBLGEN LINQ 表达式 C#【英文标题】:Converting Oracle SQL to LLBLGEN LINQ expression C# 【发布时间】:2020-04-27 18:31:13 【问题描述】:我有一个包含 1 个表的数据库:
APP_ID|SETTING_NAME|SETTING_VALUE|ROW_LST_UPD_TS
1 |ab1 |111 |17:32
1 |ab2 |112 |17:32
---------------------------------------
1 |ab1 |111 |14:31
1 |ab2 |112 |14:31
---------------------------------------
2 |ba1 |121 |18:44
2 |ba2 |122 |18:44
---------------------------------------
2 |ba1 |121 |15:27
2 |ba2 |122 |15:27
---------------------------------------
使用 llblgen pro 和 LinqMetaAdapter 我需要获取按 APP_ID 分组的最新 ROW_LST_UPD_TS 的所有记录
我想出了 oracle 查询:
SELECT distinct
configurationLog.SETTING_NAME,
configurationLog.SETTING_VALUE,
configurationLog.ROW_LST_UPD_TS,
configurationLog.ROW_LST_UPD_UID,
configurationLog.APP_ID
FROM
EVENT_MGT.CONFIGURATION_LOG configurationLog
INNER JOIN
(
SELECT APP_ID, MAX(ROW_LST_UPD_TS) maxTimestamp
FROM EVENT_MGT.CONFIGURATION_LOG
GROUP BY APP_ID
) latestSettingPerApp
ON
latestSettingPerApp.maxTimestamp <= configurationLog.ROW_LST_UPD_TS
and latestSettingPerApp.maxTimestamp >= configurationLog.ROW_LST_UPD_TS - 1/1440
and latestSettingPerApp.APP_ID = configurationLog.APP_ID
ORDER BY
configurationLog.APP_ID;
但无法将其转换为 LINQ
【问题讨论】:
【参考方案1】:这只是间接相关,因为它不是您的 LINQ 问题的解决方案,但我认为使用窗口函数编写您的查询要好得多。我认为它更易于阅读和维护,并且对于大型数据集可能会更高效。
with max_vals as (
SELECT
SETTING_NAME,
SETTING_VALUE,
ROW_LST_UPD_TS,
ROW_LST_UPD_UID,
APP_ID,
max (ROW_LST_UPD_TS) over (partition by app_id) as max_ts
FROM
EVENT_MGT.CONFIGURATION_LOG configurationLog
)
select
SETTING_NAME, SETTING_VALUE, ROW_LST_UPD_TS, ROW_LST_UPD_UID, APP_ID
from max_vals
where
ROW_LST_UPD_TS = max_tx
order by
APP_ID
您使用的构造看起来就像您在分析功能不可用的 DMBS 中所做的那样。
同样,这不是一个解决方案,但超出了我在评论中的合理范围。
【讨论】:
将 Oracle 外连接转换为 SQL Server
】将Oracle外连接转换为SQLServer【英文标题】:ConvertOracleouterjointoSQLServer【发布时间】:2014-07-2015:35:53【问题描述】:我无法将此OracleSQL转换为SQL服务器。这是查询:SELECTCM.ModuleID,CM.ModuleDescription,CM.ImageIndex,CASEWHENCMAC.ClassIDISNULLTHEN\... 查看详情
将 SQL 转换为 Oracle 设置参数 [重复]
】将SQL转换为Oracle设置参数[重复]【英文标题】:covertingTSQLtoOraclesettingparameters[duplicate]【发布时间】:2020-02-1222:37:42【问题描述】:我开始了一份新工作,需要为这份工作学习Oracle。我正在尝试转换这个简单的代码,以便以后可... 查看详情
将 T-SQL 交叉应用转换为 Oracle
】将T-SQL交叉应用转换为Oracle【英文标题】:ConvertT-SQLCrossApplytoOracle【发布时间】:2015-04-2506:19:46【问题描述】:我希望将此使用交叉应用的SQLServer(T-SQL)查询转换为Oracle11g。Oracle直到12g才支持CrossApply,所以我必须找到解决方法... 查看详情
Oracle SQL - 将选择计数(*)转换为零或一
】OracleSQL-将选择计数(*)转换为零或一【英文标题】:OracleSQL-convertselectcount(*)intozeroorone【发布时间】:2015-10-2319:35:35【问题描述】:我正在使用Oracle,我想将选择计数的结果转换为“二进制”0/1值...0=0...非零=1。根据我在网上... 查看详情
将oracle查询的日期格式转换为sql server查询
】将oracle查询的日期格式转换为sqlserver查询【英文标题】:convertdateformatoforaclequerytosqlserverquery【发布时间】:2021-05-1911:04:31【问题描述】:我正在尝试将以下oracle查询转换为SQL服务器查询。Select*fromtableAWHERETRUNC(a.Generate_DATE,\'MM\'... 查看详情
将 oracle sql 时间戳转换为 char Coldfusion
】将oraclesql时间戳转换为charColdfusion【英文标题】:Convertoraclesqltimestamptocharcoldfusion【发布时间】:2014-07-3008:42:29【问题描述】:我要做的是将oracle时间戳转换为_char,以便人眼可以阅读。以下是我的SQL代码:<cfquerydatasource="#app... 查看详情
将 Oracle PL/SQL 代码转换为 C#
】将OraclePL/SQL代码转换为C#【英文标题】:ConvertOraclePL/SQLcodetoC#【发布时间】:2013-04-3006:33:27【问题描述】:谁能指导我如何将以下OraclePL/SQL代码转换为C#?declarel_encryptedraw(100);p_keyraw(100);p_plainraw(100);l_modenumber;beginl_mode:=dbms_crypto.... 查看详情
从 Oracle 转换为 SQL Server
】从Oracle转换为SQLServer【英文标题】:ConversionfromOracleintoSQLServer【发布时间】:2016-01-2223:31:58【问题描述】:我正在尝试将Oracle脚本解释为SQL脚本,但我发现我将连接转换错误,因为Oracle正在使用同一个表的多个实例(请参阅sel... 查看详情
将 oracle.sql.TIMESTAMPTZ 转换为字符串值的问题
】将oracle.sql.TIMESTAMPTZ转换为字符串值的问题【英文标题】:Troubleswithconvertingoracle.sql.TIMESTAMPTZtostringvalue【发布时间】:2014-10-2404:56:19【问题描述】:我尝试从oracledb获取一些数据,将这些数据放入json并在其他地方使用,但我在... 查看详情
将 MySQL 更新 SQL 语句转换为 Oracle 更新语句 [重复]
】将MySQL更新SQL语句转换为Oracle更新语句[重复]【英文标题】:ConvertMySQLupdateSQLstatementtoOracleupdatestatement[duplicate]【发布时间】:2019-10-2314:20:17【问题描述】:我的查询在MySQL上运行良好,但如果我在Oracle数据库中执行它,我会收... 查看详情
将 Oracle SQL 转换为 Access Jet SQL,左连接
】将OracleSQL转换为AccessJetSQL,左连接【英文标题】:TranslatingOracleSQLtoAccessJetSQL,LeftJoin【发布时间】:2011-10-0321:47:05【问题描述】:这里一定有我遗漏的东西。我在Toad中有一个漂亮、漂亮的OracleSQL语句,它会返回一个包含我想要... 查看详情
Oracle SQL 将字符串转换为日期
】OracleSQL将字符串转换为日期【英文标题】:OracleSQLcastingstringasdate【发布时间】:2016-12-0721:29:45【问题描述】:这个sql有什么问题?这给了我0个结果:Select*fromDOCwhereCREATION_TIME>to_TIMESTAMP(\'01-Jan-6911.59.16AM\',\'dd-Mon-YYHH12.mi.ss.F... 查看详情
使用 LIKE 将 Oracle 查询转换为 SQL Server 查询
】使用LIKE将Oracle查询转换为SQLServer查询【英文标题】:ConvertinganOracleQueryusingLIKEtoSQLServerQuery【发布时间】:2021-05-0801:19:27【问题描述】:我正在转换使用Oracle数据库的应用程序。在部分代码中有一个条件(下)。在ELSE中,他们... 查看详情
SQL Plus 将字符转换为字节以用于 Oracle 复制命令
】SQLPlus将字符转换为字节以用于Oracle复制命令【英文标题】:SQLPlusconvertingChartoByteforOracleCopyCommand【发布时间】:2019-07-2914:32:59【问题描述】:在OracleSQLPlus中,在创建表/插入记录时使用复制命令总是将表CHAR/VARCHAR2列转换为BYTE... 查看详情
如何将 MySQL 查询转换为等效的 Oracle sql 查询
】如何将MySQL查询转换为等效的Oraclesql查询【英文标题】:HowtoconvertMySQLquerytoequivalentOraclesqlQuery【发布时间】:2020-07-0921:55:19【问题描述】:我想将下面的MYSQL查询转换为OracleSQL查询,有人可以帮忙吗?instructor表下面是父实体,i... 查看详情
使用 FME 将 oracle sdo.geometry 转换为 SQL 几何数据类型
】使用FME将oraclesdo.geometry转换为SQL几何数据类型【英文标题】:UsingFMEtoconvertoraclesdo.geometrytoSQLgeometrydatatype【发布时间】:2015-08-3117:52:23【问题描述】:您好,我必须使用sdo_geometryfieldfromanOracledatabase并将数据传输到SQL数据库(可... 查看详情
包含列的 SQL Server 索引 - 转换为 Oracle
】包含列的SQLServer索引-转换为Oracle【英文标题】:SQLServerIndexeswithIncludedColumns-converttoOracle【发布时间】:2018-06-2619:32:41【问题描述】:我对SQLServer完全陌生。目前必须将表、索引、触发器等转换为Oracle。据我所知,Oracle中没有IN... 查看详情
将 Oracle SQL 转换为 OBIEE Evaluate/TO_CHAR 函数
】将OracleSQL转换为OBIEEEvaluate/TO_CHAR函数【英文标题】:ConvertOracleSQLtoOBIEEEvaluate/TO_CHARFunction【发布时间】:2019-07-1015:56:26【问题描述】:我正在尝试将OracleSQLDeveloperSelect语句转换为OracleBI函数。似乎Evaluate是要走的路,但语法有点... 查看详情