Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将3个SQL查询合并到1中?_Sql_Oracle - Fatal编程技术网

如何将3个SQL查询合并到1中?

如何将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.

我的产品存储在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.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许可下)。如果您想解除此帖子与您帐户的关联,请参阅