I have products stored over 3 tables and product prices stored over 3 tables. At the moment I run each SQL query and then manually merge the data together in Microsoft Excel but is it possible to merge these queries so that I can get all results in one hit?
I was thinking about just using 3 sub queries but I'm not sure whether that is the correct way to do it or not.
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)
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)
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 removes duplicate rows:
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);
UNION ALL does not remove duplicate rows:
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);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.