Query samenvoegen

Status
Niet open voor verdere reacties.

sjellema

Gebruiker
Lid geworden
22 apr 2009
Berichten
10
Ik heb de onderstaande opvolgende query's geschreven, maar krijg nu de error 'query to complex' etc. dus wil er graag 1 query van maken. Iemand een idee?

Query 1

SELECT '101a',SUM(veld14) AS totaal
FROM 101a
WHERE ((veld1)="101a")

UNION SELECT '102a', SUM(veld14) AS totaal
FROM 102a
WHERE ((veld1)="101a")

UNION SELECT '102b', SUM(veld14) AS totaal
FROM 102b
WHERE ((veld1)="101a")

UNION SELECT '102c', SUM(veld14) AS totaal
FROM 102c
WHERE ((veld1)="101a")

UNION SELECT '102d', SUM(veld14) AS totaal
FROM 102d
WHERE ((veld1)="101a")

UNION SELECT '104',SUM(veld14) AS totaal
FROM 104
WHERE ((veld1)="101a")

UNION SELECT '317', SUM(veld14) AS totaal
FROM 317
WHERE ((veld1)="101a");

query 2

SELECT '101a', sum(totaal) AS pve
FROM qry101a

query 3

SELECT budget.
Code:
, budget.[Omschrijving], budget.[Budget m2], qrytotalen.totalen
FROM qrytotalen, budget
WHERE (((budget.[Code])="101a") And ((budget![Code])=qrytotalen!Expr1000));

Alvast bedankt
 
Feit dat je steeds veld14 wil sommeren en veld1 moet 101a in steeds een andere tabel zijn riekt naar een normalisatie probleem. Daar moet je in de eerste plaats eens naar kijken.

Maar het is zeker mogelijk. Je eerste query maak je minder complex door niet UNION te gebruiken maar UNION ALL. Daarmee versimpel je de query omdat er niet meer gezocht hoeft te worden op dubbele records.

De derde query produceert een cartesisch product omdat je de twee tabellen qrytotalen en budget niet gekoppeld hebt.
[query]
SELECT budget.
Code:
, budget.[Omschrijving], budget.[Budget m2], qrytotalen.totalen
FROM qrytotalen inner join budget on budget![code]=qrytotalen!Expr1000
WHERE (((budget.[code])="101a"))
[/query]

HTH:D
 
Laatst bewerkt:
Beste Guus,

Aller eerst wil ik je hartelijk bedanken voor je altruïstische hulp, helaas wil ik graag nog een keer aanspraak op maken.

Ten tweede ben ik niet bekend met de term 'normalisatie probleem'. Het idee is dat over verschillende afdelingen verschillende bestemmingen zijn verdeeld. Deze krijgen een bepaalde code mee, terwijl er per afdeling een tebel word opgesteld. Ik wil dus per code een sommering doen als mede per tabel .

Als laatste krijg ik bij de door jou toegevoegde query een foutmeldeing met 'join expression is not supported'. Op internet heb ik gevonden dat ik ze dan moet 'parenten', maar ben er nog niet uit hoe dat werkt.

Alvast bedankt!!
 
Laatst bewerkt:
Als je een voorbeeld database neerzet dan kan ik je een practisch voorbeeldje geven.

Database normalisatie heeft als doel optimalisatie van je database. d.w.z. geen redundantie en een logische opbouw. kijk even bij wikipedia

Enjoy!
 
Ik sla gegevens niet dubbel op en kan ook niet veel aan de database invoer veranderen aangezien dit door derden gebeurt, maar het ziet er ongeveer zo uit

Tabel 1 Afdeling A

Code m2

101a 90
102a 33

Tabel 2 Afdeling B

code m2

102a 33
103a 2

Doel:

Overzicht I
afdeling A = 123 m2
Afdeling B = 35 m2

Overzicht II
Functie 101 a = 90 m2
Functie 102a = 66 m2
Functie 103a = 2 m2

Ik hoop dat je me wederom verder kan helpen.

p.s. Het lukt me ook nog niet de qry met join daar in te grbuirken
 
Ik kan het uitleggen met veel tekst maar een voorbeeldje werkt voor beiden sneller denk ik.

Enjoy!
 

Bijlagen

Voorbeeld:

TABEL 101a

Kamer Aantal m2

A 1 90 m2
B 2 80 m2


Ik wil graag het volgende overzicht genereren

Qry101A

Kamer Aantal m2 Subtotaal Totaal
(aantal x m2) (Som subtotaal)
A 1 90 90 250
B 2 80 160

Ik hoop dat ik je hiermee volddoende heb geinformeerd, en nogmaal bedankt!

Sietse
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan