Query gebruiken om een nieuwe Query te maken
Ik zoek een SQL script waarmee ik een query uitvoer op een tabel uit de database. De verkregen data gebruik ik als voorwaarde op een nieuwe query uit te voeren op een andere tabel.
Ik zal het in het WHERE ..... gedeelte moet zoeken van de SELECT.
Ik hoop dat iemand al eens vaker zoiets heeft gemaakt!
Ik hoor het graag.
M.vr.gr. Carl.
Als je iets meer info geeft is het wat makkelijker, maar in grote lijnen zal je naar zoiets moeten kijken:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
SELECT a.kolom1, a.kolom2, b.kolom3
FROM (
SELECT kolom1, kolom2
FROM tabel1
WHERE ...
) a
LEFT JOIN tabel2 b ON a.kolom1 = b.kolom3
FROM (
SELECT kolom1, kolom2
FROM tabel1
WHERE ...
) a
LEFT JOIN tabel2 b ON a.kolom1 = b.kolom3
Tabel 1 heeft boekstuknummers met subcode die sommige boekstuknummers kan bundelen.
b.v. nummer 1000 alg. kosten code A subcode A1
1001 loon kosten code A subcode A2
1002 adm. kosten code A subcode A2
etc.
Tabel 2 bevat transacties waaraan de boekstuknummers worden toegevoegd.
b.v. € 100,00 boeken op kostenplaats nr. 1000
€ 150,00 boeken op kostenplaats nr. 1001
€ 190,00 boeken op kostenplaats nr. 1002
Ik wil nu een query maken op bepaalde kosten uit tabel 2
Daarvoor wil ik weten welke kosten geboekt zijn op boekstuknummers 1001 en 1002
Dan wil ik dus een query met de boekstuknummers 1001 en 1002 (tabel 2) op basis van alle boekstuknummers met subcode A2 uit tabel 1.
Ik denk dus dat een JOIN moet werken met:
SELECT Boekstuknummer
FROM Tabel1
WHERE Subcode = 'A1'
en dan komt de JOIN functionaliteit !!!!!!!
Vergelijk deze dan met:
SELECT Transacties
FROM Tabel2
WHERE Kostenplaats = het kostenplaats verkregen uit de vorige SELECT.
Of kan ik dan toch beter je tweede voorbeeld gebruiken met de geesten SELECT ?????
M.VR.GR.
Maar:
Quote:
Tabel 1 heeft boekstuknummers met subcode die sommige boekstuknummers kan bundelen.
Het feit dat je boeknummers op een bepaalde subcode bundelt, zou kunnen betekenen dat je beter daarvoor een aparte tabel kan maken.
Zonder meer duidelijkheid over tabellen, kolommen en voornamelijk op welke manier de twee tabellen aan elkaar kunnen worden gekoppeld is het moeilijk om duidelijk aan te geven hoe je het moet doen. Het kan zowel met een join of met een subquery overigens.
In het algemeen is het gewoon zo, dat als je een JOIN op dezelfde tabel nodig hebt als in die de FROM staat, het database model niet goed is.
Maar het gaat om slechts 2 tabellen, waarbij 1 waarde gevraagd wordt uit de eerste tabel. Die moet dan vergeleken worden met een tweede tabel en dan daaruit een lijst met informatie genereren. Omdat een subquery in de SELECT component slechts 1 waarde mag zijn. (het levert dus ook maar 1 waarde op die ik moet gebruiken) zou dit een goede oplossing zijn.
De JOIN biedt wel veel meer mogelijkheden, maar is wat moeilijker te lezen. Ik ga eerst even proberen met de subquery en kijk of ik de juiste informatie krijg.