iteratie maken?

Status
Niet open voor verdere reacties.

shidan

Gebruiker
Lid geworden
8 jan 2007
Berichten
354
Ik heb twee tabellen
Een tabel met producten en productcodes (tbl_Soort: materiaal, code)
Een tabel met analyses (tbl_Analyses: H2O, SiO2, …)

Ik moet van elk soort materiaal alle chemische elementen oproepen
Momenteel vul ik alles manueel in
(From materiaal 1 where element = “H2O”, From materiaal 1 where element = “SiO2,
From materiaal 2 where element = “H2O”, From materiaal 2 where element = “SiO2
Ik denk dat itereren over beide tabellen een oplossing kan geven

Hoe kan ik dat doen in SQL?
 
Er klopt iets niet aan je database-opzet denk ik. Kun je even de CREATE TABLE-query's hier neerzetten?
 
deze tabellen heb ikzelf niet aangemaakt
deze staan bij ons op het mainframe
 
hallo,

hierbij de gevraagde gegevens.
de eerste tabel geeft alle soorten erts weer
nr_mat_tsp is de code van het materiaal

Dit is tabel SOORT_ERTS (hierin staan de productcodes)
NR_MAT_TSP is de productcode van het materiaal

NR
MAT
TSP PRODUCTNAAM
----- ------------------------------------------------
12000 IJZERERTS "TZF" - MAURETANIE
12310 IJZERERTS "ASSOMAN LUMP" - ZUID-AFRIKA
13100 IJZERERTS "SESAGOA FIJN" - INDIA
14100 IJZERERTS "CARAJAS FIJN" - BRAZILIE
14210 IJZERERTS "CORUMBA LUMP." BRAZILIE
14250 IJZERERTS "STUKERTS SSLO"
14300 IJZERERTS "MBR FIJN" - BRAZILIE
14301 IJZERERTS "MBR 3,5% SIO2" - BRAZILIE
14400 IJZERERTS "SAN ISIDRO FIJN" - VENEZUELA
14700 IJZERERTS "MOUNT WRIGHT CONCENTRATES" - CANADA



Dit is tabel DTEST020 (hierin staan de alanyses)
COD_WR_ANL_PRD is het soort materiaal (020 is ijzererts, 025 is kalksteen, ...)
WD element is de gemeten waarde

COD
NR WR
NM MAT ANL WD
EL TSP PRODUCTNAAM PRD EL
--------- ----- ------------------------------- ---------- -----------------
Fe 12000 IJZERERTS "TZF" - MAURETANIE 020ANLLG 56.854
SiO2 12000 IJZERERTS "TZF" - MAURETANIE 020ANLLG 1.201
Fe 12050 "SESAGOA FIJN" INDIA 020ANLLG 55.012
SiO2 12050 "SESAGOA FIJN" - INDIA 020ANLLG 0.998


met deze query filter ik alle records die met ijzer (COD_WR_ANL_PRD = '020ANLLG') te maken hebben

SELECT A.PRODUCTNAAM,A.AANKOMST,A.WD_EL
FROM DTEST020 A
WHERE A.COD_WR_ANL_PRD = '020ANLLG'
AND A.NR_MAT_TSP = &CODE
AND A.NM_EL = &ELEMENT
ORDER BY 2


hieronder wens ik de iteratie te doen
ik heb alle elementen nodig van elke soort
je ziet dat ik deze manueel invul
code= 12000, element="Fe"
code= 12000, element="SiO2"
code= 12050, element="Fe"
code= 12050, element="SiO2"

iteriren zou handiger zijn

RUN QRESULT_020(F FRM_ST_FE,&&CODE='12000',&&ELEMENT='Fe'

RUN QRESULT_020(F FRM_ST_FE,&&CODE='12000',&&ELEMENT='SiO2'

RUN QRESULT_020(F FRM_ST_FE,&&CODE='12050',&&ELEMENT='Fe'

RUN QRESULT_020(F FRM_ST_FE,&&CODE='12050',&&ELEMENT='SiO2'
 
Laatst bewerkt:
Moet het rechtstreeks in SQL? Dan zou je eens gaan kunnen kijken naar Stored Procedures.

Als je het op een webserver doet, zou je ook de resultaten van een eerste query op kunnen halen en daarna een loop kunnen doen om alle andere queries uit te voeren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan