May 28, 2010 at 5:30 am
I have created a database with these tables:
CREATE TABLE kurs.personal
(personal_id INT IDENTITY(1,1),
chef_idINT NULL,
lonekat_idINT NOT NULL,
fornamn CHAR(20) NOT NULL,
efternamn CHAR(20) NOT NULL,
titel CHAR(10) NOT NULL)
GO
CREATE TABLE kurs.lonekat
(lonekat_id INT IDENTITY(1,1),
beskrivning CHAR(20) NOT NULL,
manadslon numeric(10,2) NOT NULL,
provisionsandel decimal(3,2) NOT NULL)
GO
CREATE TABLE kurs.utbetalning
(utbetalning_id INT IDENTITY(1,1),
personal_id INT NOT NULL,
grundlonNUMERIC(10,2)NOT NULL,
bonus NUMERIC(10,2)NOT NULL,
totallon NUMERIC(10,2)NOT NULL,
loneperiod CHAR(6) NOT NULL)
GO
CREATE TABLE kurs.kund
(kund_idINT IDENTITY(1,1),
kundansvarig_idINT NOT NULL,
fornamnCHAR(20) NOT NULL,
efternamn CHAR(20) NOT NULL,
telefonnr CHAR(15) NOT NULL,
mobiltelefon CHAR(15) NOT NULL,
ring_ej_flagga BIT NOT NULL)
GO
CREATE TABLE kurs.bokning
(bokning_idINT IDENTITY(1,1),
produkt_idINT NOT NULL,
saljare_idINT NOT NULL,
kund_id INT NOT NULL,
tidpunktDATETIME NOT NULL)
GO
CREATE TABLE kurs.produkt
(produkt_idINTIDENTITY(1,1),
namnCHAR(20) NOT NULL,
provisionNUMERIC(10,2)NOT NULL)
GO
ALTER TABLE kurs.personal
ADD CONSTRAINT pk_personal PRIMARY KEY CLUSTERED (personal_id)
GO
ALTER TABLE kurs.lonekat
ADD CONSTRAINT pk_lonekat PRIMARY KEY CLUSTERED (lonekat_id)
GO
ALTER TABLE kurs.utbetalning
ADD CONSTRAINT pk_utbetalning PRIMARY KEY CLUSTERED (utbetalning_id)
GO
ALTER TABLE kurs.bokning
ADD CONSTRAINT pk_bokning PRIMARY KEY CLUSTERED(bokning_id)
GO
ALTER TABLE kurs.kund
ADD CONSTRAINT pk_kund PRIMARY KEY CLUSTERED (kund_id)
GO
ALTER TABLE kurs.produkt
ADD CONSTRAINT pk_produkt PRIMARY KEY CLUSTERED(produkt_id)
GO
ALTER TABLE kurs.personal
ADD CONSTRAINT fk_personaltopersonal FOREIGN KEY (chef_id)
REFERENCES kurs.personal (personal_id)
GO
ALTER TABLE kurs.personal
ADD CONSTRAINT fk_personaltolonekat FOREIGN KEY (lonekat_id)
REFERENCES kurs.lonekat (lonekat_id)
GO
ALTER TABLE kurs.utbetalning
ADD CONSTRAINT fk_utbetalningtopersonal FOREIGN KEY (personal_id)
REFERENCES kurs.personal (personal_id)
GO
ALTER TABLE kurs.kund
ADD CONSTRAINT fk_kundtopersonal FOREIGN KEY(kundansvarig_id)
REFERENCES kurs.personal (personal_id)
GO
ALTER TABLE kurs.bokning
ADD CONSTRAINT fk_bokningtoprodukt FOREIGN KEY(produkt_id)
REFERENCES kurs.produkt (produkt_id)
GO
ALTER TABLE kurs.bokning
ADD CONSTRAINT fk_bokningtopersonal FOREIGN KEY(saljare_id)
REFERENCES kurs.personal (personal_id)
GO
ALTER TABLE kurs.bokning
ADD CONSTRAINT fk_bokningtokund FOREIGN KEY(kund_id)
REFERENCES kurs.kund (kund_id)
GO
All tables without utbetalning are populated with data from csv-files. My problem is two populate the table utbetalning with data from the other tables where:
kurs.utbetalning.grundlon = kurs.lonekat.manadslon
kurs.utbetalning.bonus = kurs.produkt.provision * kurs.lonekat.provisionsandel
kurs.utbetalning totallon = kursutbetalning grundlon + kurs.utbetalning.bonus
I have made lots of trials during lots of days but still I really don´t know how to get it work. Some code examples I have tried:
USE kursdatabas
GO
INSERT INTO kurs.utbetalning (personal_id)
SELECT personal_id
FROM kurs.personal
GO
INSERT INTO kurs.utbetalning (grundlon)
SELECT manadslon
FROM kurs.lonekat
SET IDENTITY_INSERT kurs.utbetalning on
GO
INSERT INTO kurs.utbetalning (totallon)
SELECT grundlon + bonus
FROM kurs.utbetalning
SET IDENTITY_INSERT personal_id on
GO
INSERT INTO kurs.utbetalning (bonus)
SELECT provision FROM kurs.produkt
SELECT provisionsandel FROM kurs.lonekat
SET bonus = provisionsandel * provision
JOIN on = personal_id
GO
SELECT *
FROM kurs.utbetalning
GO
Can anyone help me to get it work?
Nilla
May 28, 2010 at 2:37 pm
varkstad (5/28/2010)
kurs.utbetalning.grundlon = kurs.lonekat.manadslon
kurs.utbetalning.bonus = kurs.produkt.provision * kurs.lonekat.provisionsandel
kurs.utbetalning totallon = kursutbetalning grundlon + kurs.utbetalning.bonus
:pinch: Problem here is either lack of business specifications or faulty database design.
I cannot see how tables utbetalning, lonekat and produkt are related - no apparent navigation is defined - so I do not understand how table is supposed to get populated.
Could you please clarify?
_____________________________________
Pablo (Paul) Berzukov
Author of Understanding Database Administration available at Amazon and other bookstores.
Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.May 28, 2010 at 9:45 pm
I attach a database_diagram and hope it will answer your question.
Viewing 3 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy