[SQL / Access] multi-table query

Pagina: 1
Acties:

  • oZy
  • Registratie: Juli 2001
  • Laatst online: 17:28
mja.. negeer deze topic maar als een nuchtere maag heb, < 18 jaar bent, of niet tegen bloed kan..

heb een domme, logge, slecht ingerichte, grote database waar ik een interface voor moet bouwen..

het betreft een projecten database met een hele zooi tabellen. Nu moet ik dus de query die alleen de nuttige info uit deze dbase trekt bouwen.

We hebben de tabel TblTotaaloverzichtprojectsheets als hoofdtabel, waar alle statische info instaat. Daarnaast hebben we TblKeuze waar alle ID'nrs van de aspecten in staan, en deze aspecten hebben ieder weer een tabelletje.

Dus als ik een nieuwe record toevoeg, en dan wil laten zien wat er zo juist is toegevoegd, of gewoon als ze alle gegevens van 1 project willen zien, heb ik een query nodig die alle info uit 1000 en 1 tabellen haalt. Dit zou makkelijk gaan met subqueries, maar helaas.. access.. ik ben nog niet zo'n super sql kenner, en het is al laat dus graag iemands visie over dit probleem.

Hier de query die ik op de gok in elkaar gegooid heb (schrik niet):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?
SELECT
     [TblTotaaloverzichtprojectsheets].[Project name],
     [TblTotaaloverzichtprojectsheets].[Project description],
     [TblTotaaloverzichtprojectsheets].[Bereich],
     [TblTotaaloverzichtprojectsheets].[Divisie],
     [TblTotaaloverzichtprojectsheets].[Opdrachtgever],
     [TblTotaaloverzichtprojectsheets].[Projectleider],
     [TblTotaaloverzichtprojectsheets].[CC eMedia Contactpersoon],
     [TblTotaaloverzichtprojectsheets].[FS ISP Contactpersoon],
     [TblTotaaloverzichtprojectsheets].[eB Contactpersoon],
     [TblTotaaloverzichtprojectsheets].[Externe realisatie],
     [TblTotaaloverzichtprojectsheets].[Content owner],
     [TblTotaaloverzichtprojectsheets].[Address],
     [TblTotaaloverzichtprojectsheets].[Interface met],
     [TblTotaaloverzichtprojectsheets].[Contentmanagement],
     [TblTotaaloverzichtprojectsheets].[Geplande startdatum],
     [TblTotaaloverzichtprojectsheets].[Geplande livedatum],
     [TblTotaaloverzichtprojectsheets].[Ontwikkeluren Intern],
     [TblTotaaloverzichtprojectsheets].[Ontwikkeluren extern],
     [TblTotaaloverzichtprojectsheets].[Expenses total 2000/2001],
     [TblTotaaloverzichtprojectsheets].[Expenses total 2001/2002],
     [TblTotaaloverzichtprojectsheets].[ToDo],
     [TblTotaaloverzichtprojectsheets].[ToDo Iintiator],
     [TblTotaaloverzichtprojectsheets].[ToDo Uitvoerder],
     [TblTotaaloverzichtprojectsheets].[Te bespreken],
     [TblTotaaloverzichtprojectsheets].[Result Type],
     [TblTotaaloverzichtprojectsheets].[Strategic Impact],
     [TblTotaaloverzichtprojectsheets].[Haalbaarheid],
     [TblTotaaloverzichtprojectsheets].[Huidige Status],

     [TblBusinessType].[Business Type],
     [TblEvolutionType].[Evolution Type],
     [TblExterneRealisatie].[Externe realisatie],
     [TblInitiator].[Initiator],
     [TblPartnerBijRealisatie].[Partner bij realisatie],
     [TblProcessFocus].[Process Focus],
     [TblProjectGoal].[Project Goal],
     [TblSoftwareUsed].[Software Used],
     [TblStrategyType].[Strategy Type],
     [TblTemplate].[Template],
     [TblWebsiteType].[Website Type]

FROM
     TblTotaaloverzichtprojectsheets,
     TblKeuze,
     TblBusinessType,
     TblEvolutionType,
     TblExterneRealisatie,
     TblInitiator,
     TblPartnerBijRealisatie,
     TblProcessFocus,
     TblProjectGoal,
     TblSoftwareUsed,
     TblStrategyType,
     TblTemplate,
     TblWebsiteType

WHERE
         [TblTotaaloverzichtprojectsheets].[ProID] = 'NewID'
 AND     [TblKeuze].[ProID] = 'NewID'
 AND     [TblKeuze].[Process FocusID] = '[TblProcessFocus].[Process FocusID]'
 AND     [TblKeuze].[Project GoalID] = '[TblProjectGoal].[Project GoalID]'
 AND     [TblKeuze].[Strategy TypeID] = '[TblStrategyType].[Strategy TypeID]'
 AND     [TblKeuze].[Business TypeID] = '[TblBusinessType].[Business TypeID]'
 AND     [TblKeuze].[Evolution TypeID] = '[TblEvolutionType].[Evolution TypeID]'
 AND     [TblKeuze].[InitiatorID] = '[TblInitiator].[InitiatorID]'
 AND     [TblKeuze].[Partner bij realisatieID] = '[TblPartnerBijRealisatie].[Partner bij realisatieID]'
 AND     [TblKeuze].[Externe realisatieID] = '[TblExterneRealisatie].[Externe realisatieID]'
 AND     [TblKeuze].[Software UsedID] = '[TblSoftwareUsed].[Software UsedID]'
 AND     [TblKeuze].[Website TypeID] = '[TblWebsiteType].[Website TypeID]'
 AND     [TblKeuze].[TemplateID] = '[TblTemplate].[TemplateID]'
?>

(heb em ff tussen php tags gezet om het wat duidelijker te houden, staat echter in asp pagina's)

ik hoop dat het genoeg info is, "NewID" is dus de unieke id van ieder project, en de enige gegeven info die je hebt.

Ik ben benieuwd of dit met 1 query lukt, tnx alvast (als je het tot hier hebt uit weten te houden :7)

ik vraag btw niet om 'de oplossing query' maar meer iets wat me de goeie richting in helpt :)

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Ik zal er vanavond even naar kijken, maar de volgende keer graag in
[c ode]
[/c ode] (zonder spatie natuurlijk)
zetten, dan is het wat groter en zonder (in SQL nietszeggende) kleurtjes

  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-05 15:11

disjfa

be

je zou t met
code:
1
2
3
select distinct
tabel.bla
...

doen.

als dat niet werkt moet je multiqueri maken...
ff unieke id selecteren en per id de querie maken voor de data.

dat laatste werkt eigenlijk ook sneller, maar is minder overzichteleijk :)

disjfa - disj·fa (meneer)
disjfa.nl


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Op woensdag 12 december 2001 17:01 schreef oZy o.a. het volgende:
Dit zou makkelijk gaan met subqueries, maar helaas.. access..
huh :? Access ondersteunt toch gewoon subqueries?

Today's subliminal thought is:


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:29
Op woensdag 12 december 2001 18:29 schreef Annie het volgende:

[..]

huh :? Access ondersteunt toch gewoon subqueries?
Dat dacht ik ook zo.

https://fgheysels.github.io/


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Iets later dan gepland toch nog een reactie.

Je query is qua opzet goed. Je moet er inderdaad al die tabellen er bij joinen. Je kunt niet met subqueries werken, want je hebt de gegevens in je select-clause nodig.

Ik neem aan dat je wel weet dat je alle [, ', en ] moet weghalen? Dit zal anders zeker in tot errors leiden.

  • oZy
  • Registratie: Juli 2001
  • Laatst online: 17:28
zoals je ziet zitten er spaties in de veldnamen, dus die [, ]'en moeten er wel inblijven, ik zou ook niet weten waarom dit errors moet opleveren in access, dan wel asp. werkt prima tot nu toe iig.

maar goed, heb nog steeds geen concreet antwoord gehad, deze query die ik gepost heb werkt niet, dus al is mn opzet goed.. :)

PS. zal even kijken of met met die subquery wel werkt, ik was in de war met mysql (3.x) denk ik :7

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Het kan NIET met sub-queries zoals ik eerder al zei.
Je hebt de gegevens nodig in je select gedeelte. Geloof me, ik weet waar ik het over heb.

In de where clause moet je wel na het =-teken de quotes om de kolomnaam weghalen, anders wordt het vergeleken met de tekst 'tabel.kolomnaam' i.p.v. de inhoud van de kolom.
Pagina: 1