Toon posts:

[SQL]"warenhuis": kortingspercentage in mandje?

Pagina: 1
Acties:

Verwijderd

Topicstarter
[newbee]
Ik heb een tabel klant waar naast NAW in opgenomen is hoeveel korting een klant krijgt (vast gegeven per klant). Nu wil ik dit terug laten komen in het boodschappenmandje. Ik koppel mandje aan klantnummer en ik wil dan ook korting terug laten komen. Dit kan ik echter niet rechtstreeks uit klant halen, dan wordt er aangegeven dat er geen unique constraint gevonden wordt.
Hoe moet ik die kortingspercentage nu verwerken??
[/newbee]
:?

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

Janoz

Moderator Devschuur®

!litemod

euhm ... tabel structuur, welke DB, hoe wordt het aangesproken..

maw.. meer info.. Bedenk dat wij geen enkel ID hebben waar jij mee bezig bent, dus zul je alles uit moeten leggen..

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


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Zorgen dat je wel een unique constraint kan koppelen..!

[serieus]
Wat moeten we hiermee.. leg eens wat uit, evt wat code, welke programmeertaal, ??, ??

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Verwijderd

Topicstarter
Het is in principe een simpel (postgreSQL!) databaseje.
Je hebt een klant, klantnrID met alle gegevens van de klant plus het kortingspercentage dat de klant krijgt. Je hebt dan een assortiment, assortiment_categorie, productgroep, product (hierarchisch opgeschreven, assortiment hoogste). Vervolgens een mandje met daaraan een mandjeregel. In mandje komt bestelnr, klantnr, datum, korting, datumafhandeling. Die korting in mandje moet dus gehaald worden uit de tabel klant (kortingspercentage). Moet ik dan een aparte tabel voor kortingspercentages gaan maken??
Ik hoop dat het nu een beetje duidelijker is??? :?
bedankt in ieder geval al voor de moeite :*

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 03-09 15:18

Crazy D

I think we should take a look.

Op dinsdag 18 juni 2002 22:17 schreef Sacerdote het volgende:
Die korting in mandje moet dus gehaald worden uit de tabel klant (kortingspercentage). Moet ik dan een aparte tabel voor kortingspercentages gaan maken??
Je geeft het antwoord zelf al :) Als je altijd 1 kortingspercentage hebt, is er geen enkele reden om er een aparte tabel voor te maken.
Uit je openingspost begrijp ik dat dat niet lukt. Kijk dus of je wel een klantnr in het mandje hebt, of de klant ook bestaat, of je de juiste veldnaam gebruikt in je query, of ie wel gevuld is, etc etc.

Exact expert nodig?


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

Janoz

Moderator Devschuur®

!litemod

Ik zie het probleem niet zo.. een mandje hoort bij een klant, dan zou je toch zo het kortingspercentage bij die klant kunnen ophalen?

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


Verwijderd

Topicstarter
Dat dacht ik dus ook maar toen gaf ie de volgende error:

"UNIQUE constraint matching given keys for referenced table "klant" not found."

????

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

klinkt meer als een fout in je query die je probeert uit te voeren dan wat anders.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 20:59
Ik heb dit al veel vaker gezegd maar op de een of andere manier komt het gewoon niet over: wat is er mis met een table layout dump en de exacte query?

Ik lees liever iets als:
code:
1
2
3
4
5
6
7
CREATE TABLE (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  naam TEXT,
  email TEXT,
  PRIMARY KEY (id),
  KEY (naam, email)
)

Dan:
"Ik heb een unieke id die steeds wordt opgehoogd met een naam van het type text en een email-adres van het type text, een primarykey op id en een key op naam en email."

In het eerste wordt veel nauwkeurigere (exactere) informatie gegeven, die ook nog minder fouten bevat omdat 'ie door de database gegenereerd wordt. Ook queries zijn letterlijk te copy-pasten. Dat is voor iedereen makkelijker.

Begrijp me goed; dit is geen pleidooi om wat code neer te pleuren en verdere uitleg achterwege te laten. Exacte delen moeten echter door exacte code beschreven worden. Extra uitleg over het idee achter de opbouw van je database en de bedoeling van je queries is dan nog steeds noodzakelijk.

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Post je query ff waarin je het kortingpercentage probeert op te halen.

Zoiets als:
code:
1
2
3
SELECT kortingspercentage
FROM Klant
WHERE Klant_ID = ???

  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 01:20

Delphi32

Heading for the gates of Eden

Ik heb dit verhaal 2 x zitten lezen om het te begrijpen, en ik weet nog steeds niet zeker of ik het goed begrijp. Dus een controlevraag.

Ik heb sterk de indruk, dat je Mandje.Kortingspercentage wilt laten VERWIJZEN middels een foreign key naar Klant.Kortingspercentage. Dat is tenminste de enige reden die ik kan verzinnen waarom je die uniqueness constraint error krijgt...

Als ik gelijk heb, lees dan verder. If not, skip.

Mandje.Kortingspercentage moet je nooit middels een reference naar je Klant opslaan, maar altijd als waarde in de Mandje tabel opnemen. Ok, opzoeken uit Klant bij het maken van het Mandje record, en dan de waarde zelf opslaan. Hou je de reference naar de Klant bij ipv de waarde van het veld Kortingspercentage, dan krijg je later problemen als van een Klant het Kortingspercentage wijzigt: het wijzigt dan ook voor alle reeds door deze klant gemaakte Mandje records. En daar wordt je opdrachtgever niet vrolijk van :)

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

Goodielover

Only The Best is Good Enough.

Ik heb de foutmelding in Google gestopt en kon daar alleen wat vinden over deze fout als je een creatie van een tabel uitvoert. of een FK-definitie op een tabel wil leggen.
Is dat ook wat je doet op de plek in je code?
Ik hoop het niet, want DataDefinition-statements opnemen is je code is niet gebruikelijk.
Pagina: 1