如何将3个SQL查询合并到1中?
我的产品存储在3个表以上,产品价格存储在3个表以上。目前,我运行每个SQL查询,然后在Microsoft Excel中手动将数据合并在一起,但是否可以合并这些查询,以便一次命中所有结果 我曾考虑只使用3个子查询,但我不确定这是否是正确的方法 1.查询 2.查询 3.查询如何将3个SQL查询合并到1中?,sql,oracle,Sql,Oracle,我的产品存储在3个表以上,产品价格存储在3个表以上。目前,我运行每个SQL查询,然后在Microsoft Excel中手动将数据合并在一起,但是否可以合并这些查询,以便一次命中所有结果 我曾考虑只使用3个子查询,但我不确定这是否是正确的方法 1.查询 2.查询 3.查询 联合删除重复的行: SELECT kust_adr.KU_NAME AS "Customer Name", lzr_daten.LZR_BEZ AS "Product Name", lzr_przu.
联合删除重复的行:
SELECT kust_adr.KU_NAME AS "Customer Name",
lzr_daten.LZR_BEZ AS "Product Name",
lzr_przu.LZR_PR AS "Price"
FROM kust_adr, lzr_daten, lzr_przu
WHERE lzr_przu.LZR_KUNR = kust_adr.KU_NR
AND lzr_daten.LZR_IDNR = lzr_przu.LZR_IDNR
AND (lzr_daten.LZR_IDNR IN (85) AND kust_adr.KU_ADR_ART = 0)
UNION
SELECT kust_adr.KU_NAME AS "Customer Name",
glas_daten_basis.GL_BEZ AS "Product Name",
os_przu.ZUM2 AS "Price"
FROM glas_daten_basis, kust_adr, os_przu
WHERE os_przu.KUNR = kust_adr.KU_NR AND glas_daten_basis.IDNR = os_przu.IDNR
AND (glas_daten_basis.IDNR IN (4, 104, 9, 109, 309, 311)
AND kust_adr.KU_ADR_ART = 0)
UNION
SELECT kust_adr.KU_NAME AS "Customer Name",
gas_daten.GAS_BEZ AS "Product Name",
gas_przu.GAS_MIN_M2 AS "Price"
FROM kust_adr, gas_daten, gas_przu
WHERE gas_przu.GAS_KUNR = kust_adr.KU_NR
AND gas_daten.GAS_IDNR = gas_przu.GAS_IDNR
AND (kust_adr.KU_ADR_ART = 0);
SELECT kust_adr.KU_NAME AS "Customer Name",
lzr_daten.LZR_BEZ AS "Product Name",
lzr_przu.LZR_PR AS "Price"
FROM kust_adr, lzr_daten, lzr_przu
WHERE lzr_przu.LZR_KUNR = kust_adr.KU_NR
AND lzr_daten.LZR_IDNR = lzr_przu.LZR_IDNR
AND (lzr_daten.LZR_IDNR IN (85) AND kust_adr.KU_ADR_ART = 0)
UNION ALL
SELECT kust_adr.KU_NAME AS "Customer Name",
glas_daten_basis.GL_BEZ AS "Product Name",
os_przu.ZUM2 AS "Price"
FROM glas_daten_basis, kust_adr, os_przu
WHERE os_przu.KUNR = kust_adr.KU_NR AND glas_daten_basis.IDNR = os_przu.IDNR
AND (glas_daten_basis.IDNR IN (4, 104, 9, 109, 309, 311)
AND kust_adr.KU_ADR_ART = 0)
UNION ALL
SELECT kust_adr.KU_NAME AS "Customer Name",
gas_daten.GAS_BEZ AS "Product Name",
gas_przu.GAS_MIN_M2 AS "Price"
FROM kust_adr, gas_daten, gas_przu
WHERE gas_przu.GAS_KUNR = kust_adr.KU_NR
AND gas_daten.GAS_IDNR = gas_przu.GAS_IDNR
AND (kust_adr.KU_ADR_ART = 0);
UNION ALL不会删除重复的行:
SELECT kust_adr.KU_NAME AS "Customer Name",
lzr_daten.LZR_BEZ AS "Product Name",
lzr_przu.LZR_PR AS "Price"
FROM kust_adr, lzr_daten, lzr_przu
WHERE lzr_przu.LZR_KUNR = kust_adr.KU_NR
AND lzr_daten.LZR_IDNR = lzr_przu.LZR_IDNR
AND (lzr_daten.LZR_IDNR IN (85) AND kust_adr.KU_ADR_ART = 0)
UNION
SELECT kust_adr.KU_NAME AS "Customer Name",
glas_daten_basis.GL_BEZ AS "Product Name",
os_przu.ZUM2 AS "Price"
FROM glas_daten_basis, kust_adr, os_przu
WHERE os_przu.KUNR = kust_adr.KU_NR AND glas_daten_basis.IDNR = os_przu.IDNR
AND (glas_daten_basis.IDNR IN (4, 104, 9, 109, 309, 311)
AND kust_adr.KU_ADR_ART = 0)
UNION
SELECT kust_adr.KU_NAME AS "Customer Name",
gas_daten.GAS_BEZ AS "Product Name",
gas_przu.GAS_MIN_M2 AS "Price"
FROM kust_adr, gas_daten, gas_przu
WHERE gas_przu.GAS_KUNR = kust_adr.KU_NR
AND gas_daten.GAS_IDNR = gas_przu.GAS_IDNR
AND (kust_adr.KU_ADR_ART = 0);
SELECT kust_adr.KU_NAME AS "Customer Name",
lzr_daten.LZR_BEZ AS "Product Name",
lzr_przu.LZR_PR AS "Price"
FROM kust_adr, lzr_daten, lzr_przu
WHERE lzr_przu.LZR_KUNR = kust_adr.KU_NR
AND lzr_daten.LZR_IDNR = lzr_przu.LZR_IDNR
AND (lzr_daten.LZR_IDNR IN (85) AND kust_adr.KU_ADR_ART = 0)
UNION ALL
SELECT kust_adr.KU_NAME AS "Customer Name",
glas_daten_basis.GL_BEZ AS "Product Name",
os_przu.ZUM2 AS "Price"
FROM glas_daten_basis, kust_adr, os_przu
WHERE os_przu.KUNR = kust_adr.KU_NR AND glas_daten_basis.IDNR = os_przu.IDNR
AND (glas_daten_basis.IDNR IN (4, 104, 9, 109, 309, 311)
AND kust_adr.KU_ADR_ART = 0)
UNION ALL
SELECT kust_adr.KU_NAME AS "Customer Name",
gas_daten.GAS_BEZ AS "Product Name",
gas_przu.GAS_MIN_M2 AS "Price"
FROM kust_adr, gas_daten, gas_przu
WHERE gas_przu.GAS_KUNR = kust_adr.KU_NR
AND gas_daten.GAS_IDNR = gas_przu.GAS_IDNR
AND (kust_adr.KU_ADR_ART = 0);
联合删除重复的行:
SELECT kust_adr.KU_NAME AS "Customer Name",
lzr_daten.LZR_BEZ AS "Product Name",
lzr_przu.LZR_PR AS "Price"
FROM kust_adr, lzr_daten, lzr_przu
WHERE lzr_przu.LZR_KUNR = kust_adr.KU_NR
AND lzr_daten.LZR_IDNR = lzr_przu.LZR_IDNR
AND (lzr_daten.LZR_IDNR IN (85) AND kust_adr.KU_ADR_ART = 0)
UNION
SELECT kust_adr.KU_NAME AS "Customer Name",
glas_daten_basis.GL_BEZ AS "Product Name",
os_przu.ZUM2 AS "Price"
FROM glas_daten_basis, kust_adr, os_przu
WHERE os_przu.KUNR = kust_adr.KU_NR AND glas_daten_basis.IDNR = os_przu.IDNR
AND (glas_daten_basis.IDNR IN (4, 104, 9, 109, 309, 311)
AND kust_adr.KU_ADR_ART = 0)
UNION
SELECT kust_adr.KU_NAME AS "Customer Name",
gas_daten.GAS_BEZ AS "Product Name",
gas_przu.GAS_MIN_M2 AS "Price"
FROM kust_adr, gas_daten, gas_przu
WHERE gas_przu.GAS_KUNR = kust_adr.KU_NR
AND gas_daten.GAS_IDNR = gas_przu.GAS_IDNR
AND (kust_adr.KU_ADR_ART = 0);
SELECT kust_adr.KU_NAME AS "Customer Name",
lzr_daten.LZR_BEZ AS "Product Name",
lzr_przu.LZR_PR AS "Price"
FROM kust_adr, lzr_daten, lzr_przu
WHERE lzr_przu.LZR_KUNR = kust_adr.KU_NR
AND lzr_daten.LZR_IDNR = lzr_przu.LZR_IDNR
AND (lzr_daten.LZR_IDNR IN (85) AND kust_adr.KU_ADR_ART = 0)
UNION ALL
SELECT kust_adr.KU_NAME AS "Customer Name",
glas_daten_basis.GL_BEZ AS "Product Name",
os_przu.ZUM2 AS "Price"
FROM glas_daten_basis, kust_adr, os_przu
WHERE os_przu.KUNR = kust_adr.KU_NR AND glas_daten_basis.IDNR = os_przu.IDNR
AND (glas_daten_basis.IDNR IN (4, 104, 9, 109, 309, 311)
AND kust_adr.KU_ADR_ART = 0)
UNION ALL
SELECT kust_adr.KU_NAME AS "Customer Name",
gas_daten.GAS_BEZ AS "Product Name",
gas_przu.GAS_MIN_M2 AS "Price"
FROM kust_adr, gas_daten, gas_przu
WHERE gas_przu.GAS_KUNR = kust_adr.KU_NR
AND gas_daten.GAS_IDNR = gas_przu.GAS_IDNR
AND (kust_adr.KU_ADR_ART = 0);
UNION ALL不会删除重复的行:
SELECT kust_adr.KU_NAME AS "Customer Name",
lzr_daten.LZR_BEZ AS "Product Name",
lzr_przu.LZR_PR AS "Price"
FROM kust_adr, lzr_daten, lzr_przu
WHERE lzr_przu.LZR_KUNR = kust_adr.KU_NR
AND lzr_daten.LZR_IDNR = lzr_przu.LZR_IDNR
AND (lzr_daten.LZR_IDNR IN (85) AND kust_adr.KU_ADR_ART = 0)
UNION
SELECT kust_adr.KU_NAME AS "Customer Name",
glas_daten_basis.GL_BEZ AS "Product Name",
os_przu.ZUM2 AS "Price"
FROM glas_daten_basis, kust_adr, os_przu
WHERE os_przu.KUNR = kust_adr.KU_NR AND glas_daten_basis.IDNR = os_przu.IDNR
AND (glas_daten_basis.IDNR IN (4, 104, 9, 109, 309, 311)
AND kust_adr.KU_ADR_ART = 0)
UNION
SELECT kust_adr.KU_NAME AS "Customer Name",
gas_daten.GAS_BEZ AS "Product Name",
gas_przu.GAS_MIN_M2 AS "Price"
FROM kust_adr, gas_daten, gas_przu
WHERE gas_przu.GAS_KUNR = kust_adr.KU_NR
AND gas_daten.GAS_IDNR = gas_przu.GAS_IDNR
AND (kust_adr.KU_ADR_ART = 0);
SELECT kust_adr.KU_NAME AS "Customer Name",
lzr_daten.LZR_BEZ AS "Product Name",
lzr_przu.LZR_PR AS "Price"
FROM kust_adr, lzr_daten, lzr_przu
WHERE lzr_przu.LZR_KUNR = kust_adr.KU_NR
AND lzr_daten.LZR_IDNR = lzr_przu.LZR_IDNR
AND (lzr_daten.LZR_IDNR IN (85) AND kust_adr.KU_ADR_ART = 0)
UNION ALL
SELECT kust_adr.KU_NAME AS "Customer Name",
glas_daten_basis.GL_BEZ AS "Product Name",
os_przu.ZUM2 AS "Price"
FROM glas_daten_basis, kust_adr, os_przu
WHERE os_przu.KUNR = kust_adr.KU_NR AND glas_daten_basis.IDNR = os_przu.IDNR
AND (glas_daten_basis.IDNR IN (4, 104, 9, 109, 309, 311)
AND kust_adr.KU_ADR_ART = 0)
UNION ALL
SELECT kust_adr.KU_NAME AS "Customer Name",
gas_daten.GAS_BEZ AS "Product Name",
gas_przu.GAS_MIN_M2 AS "Price"
FROM kust_adr, gas_daten, gas_przu
WHERE gas_przu.GAS_KUNR = kust_adr.KU_NR
AND gas_daten.GAS_IDNR = gas_przu.GAS_IDNR
AND (kust_adr.KU_ADR_ART = 0);
UNION ALL
将所有查询列合并在一起?如果所有三个查询列具有相同的数据类型,则您可以将所有查询列合并在一起。如果它们不属于相同的数据类型,则您可以对每个列添加字符(…),然后使用UNION或UNION ALL,具体取决于合并方式(无行或有重复行)。主持人注意:请不要破坏您的帖子。一旦您发布了一个问题,您就已经将内容授权给了Stack Overflow社区(在CC by SA许可下)。如果要解除此帖子与您的帐户的关联,请参阅UNION ALL
将它们合并在一起?如果所有三个查询列都具有相同的数据类型,则可以将它们合并在一起。如果它们不具有相同的数据类型,则可以对每一列添加字符(…),然后使用UNION或UNION ALL,具体取决于合并方式(无重复行或有重复行).版主注:请不要破坏您的帖子。一旦您发布了一个问题,您就已经将内容授权给了Stack Overflow社区(在CC by SA许可下)。如果您想解除此帖子与您帐户的关联,请参阅