是否可以以这种格式显示两条SQL语句的结果?
大家好,首先感谢大家关注这个问题 我有两条SQL语句,我想结合它们以某种格式提供结果 第一个SQL从数据库中的3个表中查找给定时间跨度的信息:是否可以以这种格式显示两条SQL语句的结果?,sql,oracle,Sql,Oracle,大家好,首先感谢大家关注这个问题 我有两条SQL语句,我想结合它们以某种格式提供结果 第一个SQL从数据库中的3个表中查找给定时间跨度的信息: SELECT substr(b.platz,4,2)||'-'||substr(b.platz,6,2)||'-'||substr(b.platz,8,3)||'-'||substr(b.platz,11,2) AS "Location", to_char(b.INV_DATUM, 'dd.mm.yyyy') AS "DateOfInventory
SELECT
substr(b.platz,4,2)||'-'||substr(b.platz,6,2)||'-'||substr(b.platz,8,3)||'-'||substr(b.platz,11,2) AS "Location",
to_char(b.INV_DATUM, 'dd.mm.yyyy') AS "DateOfInventory",
b.INV_ZEIT AS "TimeOfInventory",
a.INV_USR AS "InventoriedBy",
(SELECT COUNT(*) FROM INVERGEBNIS a WHERE a.invnr = b.lfdnr) AS "NumberOfPIDs",
(SELECT COUNT(*) FROM INVERGEBNIS a WHERE a.invnr = b.lfdnr AND a.menge_soll != a.menge_ist) AS "NumberOfPIDsAdjusted"
FROM INVERGEBNIS a, INVAUFTRAG b, platz p
WHERE b.LFDNR = a.INVNR
AND b.platz = p.platz_ID
AND b.INV_DATUM >= '01.01.2019'
AND b.INV_DATUM <= '31.12.2019'
GROUP BY a.INVNR, Platz, to_char(b.INV_DATUM, 'dd.mm.yyyy'), b.INV_ZEIT, a.INV_USR, b.lfdnr
第二个SQL查找从第一个SQL调整的NumberOfPIDsAdjusted的结果:
SELECT substr(b.platz,4,2)||'-'||substr(b.platz,6,2)||'-'||substr(b.platz,8,3)||'-'||substr(b.platz,11,2) AS "Location",
a.ARTIKELNR AS "ArticleNumber",
a.PALNR AS "PID",
a.MENGE_SOLL AS "ExpectedQuantity",
a.MENGE_IST AS "CountedQuantity",
a.ABWEICH_ABS AS "Difference"
FROM INVERGEBNIS a, INVAUFTRAG b, platz p
WHERE a.menge_soll != a.menge_ist
AND a.invnr = b.lfdnr
AND b.INV_DATUM >= '01.01.2019'
AND b.INV_DATUM <= '31.12.2019'
GROUP BY a.INVNR, Platz, a.ARTIKELNR, a.PALNR, a.MENGE_SOLL, a.MENGE_IST, a.ABWEICH_ABS
我正在尝试将这两个SQL组合起来,以便显示具有某种意义的结果。
我尝试过加入工会,但没有成功
如果可能的话,我正在努力实现这一目标:
存货的位置日期存货的时间由NumberOfPIDs盘点NumberOfPIDs调整
Location DateOfInventory TimeOfInventory InventoriedBy NumberOfPIDs NumberOfPIDsAdjusted
ArticleNumber PID ExpectedQuantity CountedQuantity Difference
S3-11-021-05 16.10.2019 08:31:17 JeEn 3 0
C1-08-011-04 23.08.2019 14:49:18 JeEn 4 0
K6-04-003-03 13.08.2019 11:06:26 JeRi 1 0
S4-01-002-02 22.08.2019 09:22:55 JeEn 3 1
715111012 1286209156 16 0 -16
K1-01-023-04 27.09.2019 12:36:58 JeRi 2 1
148055064 1282100556 3 0 -3
C1-02-030-04 28.08.2019 12:18:35 JeEn 5 5
290090004 6538190978 0 24 24
290090004 7636034034 0 24 24
290090004 4130433752 0 24 24
290090004 3877101085 0 24 24
290090004 3970443099 0 24 24
C1-07-014-02 22.08.2019 14:19:10 JeEn 3 0
S4-01-002-01 30.08.2019 12:44:10 JeEn 2 2
520421012 2101052940 0 10 10
040331016 1273906464 6 0 -6
再次感谢您抽出时间来看我的问题
JRidge为什么有一个
INV_DATUM
(日期)列和一个单独的INV_ZEIT
(时间存储为字符串)列?Oracle没有日期时间
数据类型,日期
数据类型始终存储年、月、日、时、分和秒组件,您可以只使用一列。在我们的数据库中,我们有两列,日期列的时间部分为00:00:00,时间保存在时间列中。从您的数据可以看出这一点;但是,我的观点是,您不应该这样做,应该将时间组件存储在DATE
列中,而不是将DATE
的时间组件设置为00:00
,然后在单独的列中使用字符串。
Location ArticleNumber PID ExpectedQuantity CountedQuantity Difference
C1-02-030-04 290090004 6538190978 0 24 24
C1-02-030-04 290090004 7636034034 0 24 24
C1-02-030-04 290090004 4130433752 0 24 24
C1-02-030-04 290090004 3877101085 0 24 24
C1-02-030-04 290090004 3970443099 0 24 24
K1-01-023-04 148055064 1282100556 3 0 -3
S4-01-002-01 520421012 2101052940 0 10 10
S4-01-002-01 040331016 1273906464 6 0 -6
S4-01-002-02 715111012 1286209156 16 0 -16
Location DateOfInventory TimeOfInventory InventoriedBy NumberOfPIDs NumberOfPIDsAdjusted
ArticleNumber PID ExpectedQuantity CountedQuantity Difference
S3-11-021-05 16.10.2019 08:31:17 JeEn 3 0
C1-08-011-04 23.08.2019 14:49:18 JeEn 4 0
K6-04-003-03 13.08.2019 11:06:26 JeRi 1 0
S4-01-002-02 22.08.2019 09:22:55 JeEn 3 1
715111012 1286209156 16 0 -16
K1-01-023-04 27.09.2019 12:36:58 JeRi 2 1
148055064 1282100556 3 0 -3
C1-02-030-04 28.08.2019 12:18:35 JeEn 5 5
290090004 6538190978 0 24 24
290090004 7636034034 0 24 24
290090004 4130433752 0 24 24
290090004 3877101085 0 24 24
290090004 3970443099 0 24 24
C1-07-014-02 22.08.2019 14:19:10 JeEn 3 0
S4-01-002-01 30.08.2019 12:44:10 JeEn 2 2
520421012 2101052940 0 10 10
040331016 1273906464 6 0 -6