Toon posts:

[SQL][access] probleem met queries

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey

Wie kan mij even helpen, we zijn op school bezig met een sql scriptje. Nou is het wel gelukt het goede antwoord uit de 2 queries te krijgen. Maar het volgende is het probleem, we willen deze 2 queries graag in 1 querie stoppen. We hebben alle mogelijk combinaties wel gehad, maar geen oplossing. Kan iemand ons helpen, zodat we de volgende keer deze combinatie zelf kunnen maken? Bedankt]

querie 1

SELECT
tblapotheekartikel.Mininummer,
tblapotheekartikel.Huidige_Leverancier,
tblapotheekartikel.VasteVerrekenprijs,
tblapotheekartikel.Verpakkingshoeveelheid,
tblartikelaanbod.Inkoopprijs,
ibo41.test,
ibo41.verschil

FROM tblapotheekartikel, tblartikelaanbod, ibo41

WHERE tblapotheekartikel.Mininummer=tblartikelaanbod.apotheekartikel

AND ibo41.inkoopprijs=tblartikelaanbod.inkoopprijs

AND ibo41.mininummer=tblapotheekartikel.mininummer

AND test < vasteverrekenprijs

querie 2

SELECT
mininummer,
([inkoopprijs]/[verpakkingshoeveelheid]) AS test,
([vasteverrekenprijs]-[test]) AS verschil,
inkoopprijs

FROM tblapotheekartikel, tblartikelaanbod

WHERE tblapotheekartikel.Mininummer=tblartikelaanbod.apotheekartikel

Alvast bedankt..

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:05
Hoe bedoel je, in 1 query?

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:44

gorgi_19

Kruimeltjes zijn weer op :9

Ik denk dat je eens moet gaan kijken naar Joins enzo, wat, nofi, dit ziet er uit als een bende....

Ik heb hier drie keer overheen gelezen; kan je je code misschien ook iets netter neerzetten, want ik vind hier niet door heen te komen:

code:
1
2
3
4
5
6
7
Select
    Blaat,
    Blaat2
FROM
    Tabel
WHERE
    ID = 1

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
ik wil graag querie 2 in querie 1 hebben..kan dat?

(ps. de querie hierboven hadden wij ook, maar die werkt niet. We krijgen de volgende foutmelding "You have written a subquery that can return more one field without the EXISTS reserved word in the main query's FROM clause. Revise the SELECT statement of the subqeury to request only one field")

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Euhm.. Begin eens met te zeggen wat de relevante kolomen in de tabel(len) zijn en welke kolomen je precies in je output wil hebben. Om eerst die toch redelijk onoverzichtelijke queries (vanwege layout) te ontcijferen is een beetje demotiverend ;).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:44

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 02 oktober 2002 @ 12:10:
ik wil graag querie 2 in querie 1 hebben..kan dat?

(ps. de querie hierboven hadden wij ook, maar die werkt niet. We krijgen de volgende foutmelding "You have written a subquery that can return more one field without the EXISTS reserved word in the main query's FROM clause. Revise the SELECT statement of the subqeury to request only one field")
Dat klopt, een subquery mag maar 1 statement teruggeven.. :P

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
De vraag is als volgt:

Geef alle aanbiedingen van anti-epileptica waarvoor de inkoopprijs per stuk (niet per besteleenheid!) beneden de vaste verrekenprijs ligt. Het resultaat moet bevatten: het mininummer, het leveranciernummer, de vaste verrekenprijs, de inkoopprijs en het verschil. Sorteer het resultaat op mininummer, en daarbinnen met het grootste verschil bovenaan.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:44

gorgi_19

Kruimeltjes zijn weer op :9

En hoe zien je tabellen er precies uit?

En wat is een mininummer?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
tblapotheekartikel:

mininummer : 1232
artikelnaam : Asperines
publieksprijs : 1.20
apotheekprijs : 1.10
verpakkingshoeveelheid : 100
verpakkingseenheid : capsules
artikelsoort : n3a
vasteverrekenprijs : 1.12
Huidige_leverancier : 3443

tblartikelaanbod

apotheekartikel :1232
leverancier : 3443
inkoopprijs : 150,-
levertijd : 5
leverancierscode : 1221
stuks/eenheid : 123

tblartikelsoort

artikelsoortcode : n3a
BTW_tarief : H
Artikelsoortnaam: anti-epileptica


Mininummer is een sleutel, en numeriek het is inderdaad een indificatie veld
de "tabel ibo41 is geen echte tabel, maar een query die een tabel genereerd."

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:44

gorgi_19

Kruimeltjes zijn weer op :9

Ik zie gegevens dubbel staan, bijvoorbeeld leverancier. Dit lijkt me onzinnig.

En in je eerste query zag ik de tabel bo41 staan, en deze mis ik nu.
mininummer, wat is dit? een identity - field?

Verder zag ik in de opdracht nog: Geef alle aanbiedingen. Heb je geen aparte tabel met aanbiedingen?

Opdracht anders geschreven:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT 
    aanbiedingsnaam, 
    vvp,
    leveranciersnummer,
    mininaam,
    inkoopprijs, 
    (inkoopprijs-vvp) AS verschil 
FROM 
    aanbiedingen (Inner / Outer / etc.) JOIN andere tabel
WHERE
    vvp > inkoopprijs
ORDER BY
    mininummer, (inkoopprijs-vvp) ASC (of DESC)

O.i.d.
Het is pseudocode, maar alles staat er wel in, iig. Volgens mij is er ook nog wel eea aan te merken op het datamodel, maar hier heb ik te weinig gegevens voor.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
ps. er is geen tabel met daarin aanbiedingen, waarschijnlijk wordt bedoeld met aanbieding
de volgende bereking bedoeld:

[inkoopprijs]/[verpakkingshoeveelheid]) AS test,

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:44

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 02 oktober 2002 @ 12:39:
ps. er is geen tabel met daarin aanbiedingen, waarschijnlijk wordt bedoeld met aanbieding
de volgende bereking bedoeld:

[inkoopprijs]/[verpakkingshoeveelheid]) AS test,
Een tabel met aanbiedingen is naar mijn idee wel nodig, aangezien dit een tijdelijke afwijking van de verkoopprijs, die een of meerdere keren kan voorkomen, wil je deze niet in je normale tabel opslaan, lijkt me.....

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
uhm ja..we komen er niet meer uit, we gaan het aan de leraar vragen..bedankt voor je hulp, je hoort de uitkomst nog wel..

GR

  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
Verwijderd schreef op 02 oktober 2002 @ 12:43:
uhm ja..we komen er niet meer uit, we gaan het aan de leraar vragen..bedankt voor je hulp, je hoort de uitkomst nog wel..
Goed idee. Die wordt er tenslotte voor betaald en hoort het te weten. ;)

Never underestimate the power of

Pagina: 1