8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

合并 SQL 以返回带有第二个参数的括号的结果

Adil Soomro 1月前

16 0

我正在尝试创建一个新列,该列可以显示历史表中的“创建日期”并与日期列“TIMESTAMP”中的当前表左连接,我使用 Oracle Interact...

我正在尝试创建一个新列,该列可以显示历史表中的“创建日期”,并与日期列“TIMESTAMP”中的当前表左连接,我使用 Oracle Interactive Reporting (IR) SQL 查询工具从数据库 DB2 中提取数据。历史表列为, DB2.TABLEH.TIMESTAMP B 当前表为 DB2.TIMESTAMP A

我创建了一个简单的合并查询,如下所示,运行良好

COALESCE(Min ( B.TIMESTAMP), A.TIMESTAMP)

但是如果第二个参数返回结果,我希望通过括号来说明哪个参数得到了满足。我尝试使用连接函数,但出现以下错误。这是完整的 SQL

SELECT A.ID,COALESCE(Min ( B.TIMESTAMP), '('CONCAT CAST(A.TIMESTAMP AS VARCHAR(10) ) CONCAT')') AS DATE_CREATED
FROM DB2.TABLE A
LEFT OUTER JOIN DB2.TABLEH B ON A.ID=B.ID AND A.COUNTRY= B.COUNTRY 
WHERE A.COUNTRY='XXXXXXX'
GROUP BY A.ID, A.TIMESTAMP

请注意,我不能将其放在带有 CASE WHEN 语句的另一列中,而仅当第二个参数在同一结果中得到满足时才需要用括号显示结果。

下面是我在运行上述 SQL 时收到的错误

\'BIC00004。DAL010059。访问数据库时发生错误:算术运算或比较运算的操作数不可比较。SQLCODE=-401,SQLSTATE=42818,DRIVER=3.72.44扩展错误描述为:操作“{0}”的操作数的数据类型不兼容。\'

我希望结果显示如下。如果结果来自当前表中的第二个参数,则它应该位于括号中,如下所示。

ID 创建日期
001 2004年8月1日
002 (2000年5月2日)

输出结果

帖子版权声明 1、本帖标题:合并 SQL 以返回带有第二个参数的括号的结果
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Adil Soomro在本站《sql》版块原创发布, 转载请注明出处!
最新回复 (0)
  • The types of the arguments of CONCAT need to be the same (or at least similar so a cast can be implied) 。如果要将其放在括号中,则必须对两个参数使用字符串类型。例如 CAST VARCHAR .

返回
作者最近主题: