如何在 EXCEL ORACLE CONNECTION 中将 2 个查询合并为一个
Posted
技术标签:
【中文标题】如何在 EXCEL ORACLE CONNECTION 中将 2 个查询合并为一个【英文标题】:how to join 2 query into one in EXCEL ORACLE CONNECTION 【发布时间】:2013-11-15 18:42:19 【问题描述】:我有 2 个查询。 我正在尝试加入他们,所以我只是从一个中编写导出,而不是在 excel 中手动加入它们。
(SELECT
b.OUT_NO,
a.ACCNO,
a.BILL_ACCNO,
a.NAME,
a.HOUSE_NO,
a.STREET,
a.HOUSE_NO2,
a.ZIP,
a.ID,
b.TIME_STAMP,
b.REST_DATE,
c.RESTORED_TIME,
b.OUT_CMNT
FROM ***.account a,
***.problem b,
***.history c
WHERE c.OUT_NO = b.OUT_NO
AND a.ID = c.ID
AND ( (a.NAME Is Not Null)
AND (a.DISC Is Null)
AND (b.TIME_STAMP>?)
AND (c.RESTORED_TIME<?))
)
和
(SELECT
b.OUT_NO,
a.ACCNO,
a.BILL_ACCNO,
a.NAME,
a.HOUSE_NO,
a.STREET,
a.HOUSE_NO2,
a.ZIP,
a.ID,
b.TIME_STAMP,
b.REST_DATE,
c.RESTORED_TIME,
b.OUT_CMNT
FROM ***.account a,
***.problem b,
***.history c
WHERE c.OUTAGE_NO = b.OUTAGE_NO
AND a.ID = c.ID
AND ( (a.NAME Is Not Null)
AND (a.DISC Is Null)
AND (b.TIME_STAMP > ? And b.TIME_STAMP < ?)
AND (c.RESTORED_TIME > ? And c.RESTORED_TIME < ?)
)
)
我怎样才能加入这两个?进入 1,我尝试了UNION ALL
,但我得到了ora-01847 day of month must be between 1 and last day of month
错误。
?
是参数,它链接到电子表格上的单元格。
excel数据参数的格式。 11/04/2013 00:00:00
谢谢
【问题讨论】:
【参考方案1】:错误与日期格式有关,与联合无关。
如果您将单元格值作为字符串参数传递,Oracle 会尝试将其转换为日期,以便与表列中的 date
或 timestamp
值列进行比较。要进行此转换,Oracle 使用它的内部默认值 date representation format,而在您的情况下不是 mm/dd/yyyy hh24:mi:ss
。
解决问题有两种可能性:
使用date
类型传递参数以查询并将值转换为日期,然后再将其传递给Oracle。检查examples on MSDN 和CreateParameter 和Parameters.Append 方法的描述。
使用to_date
Oracle 函数将查询中的值转换为日期。
从
更改查询条件 AND (b.TIME_STAMP>?)
AND (c.RESTORED_TIME<?))
和
AND (b.TIME_STAMP > ? And b.TIME_STAMP < ?)
AND (c.RESTORED_TIME > ? And c.RESTORED_TIME < ?)
到
AND (b.TIME_STAMP > to_date(?,'mm/dd/yyyy hh24:mi:ss') )
AND (c.RESTORED_TIME < to_date(?,'mm/dd/yyyy hh24:mi:ss') ))
和
AND (
b.TIME_STAMP > to_date(?,'mm/dd/yyyy hh24:mi:ss')
And
b.TIME_STAMP < to_date(?,'mm/dd/yyyy hh24:mi:ss')
)
AND (
c.RESTORED_TIME > to_date(?,'mm/dd/yyyy hh24:mi:ss')
And
c.RESTORED_TIME < to_date(?,'mm/dd/yyyy hh24:mi:ss')
)
【讨论】:
以上是关于如何在 EXCEL ORACLE CONNECTION 中将 2 个查询合并为一个的主要内容,如果未能解决你的问题,请参考以下文章
如何把excel中的数据导入到oracle数据已有的表中,excel中的数据和表中的数据字段都是对应的
如何像 EXCEL 一样在 Oracle 中对带有“_”的文本进行排序?
如何从 oracle 报告应用程序 ERP 生成 excel 文件?