Avatar billede conitec Nybegynder
17. juli 2003 - 13:18 Der er 10 kommentarer og
1 løsning

Join af forskellige datatyper

Jeg har to tabeller, hvor den ene indeholder:

BrugerNavn
Program1
Program2
Program3
Osv…

Hvor at Program(x) er afkrydsningsfelt

I Tabel2
ProgramNavn
ProgramNr
Pris

Hvor at ProgramNr skal være referenceteksten til afkrydsningsfeltet, dvs. hvis et BrugerNavn har
afkrydset nogle programmer, er formålet man vha. af en forespørgsel finde den samlet pris for programmerne

Problemet er at jeg ikke kan lave relation mellem
Program(x) og ProgramNr da de ikke er samme datatype.

Forslag gerne i Sql ellers VB
Avatar billede overchord Nybegynder
17. juli 2003 - 13:43 #1
Maa jeg foreslaa at du istedet omstrukturerer dine tabeller saa du bruger en lookup i tabel 1, hvor du henter program navnet direkte fra tabel 2 istedet?
Det vil goere livet vaesentligt lettere for dig i det lange loeb.
Dermed kan du istedet bibeholde Tabel 2 hvorimod tabel1 faar en struktur i denne retning:
Brugernavn
Ordre/Program
Antal

Derefter bliver det meget nemmere at lave forespoerglser hvor du grupperer efter brugernavn og paa den maade finde alle ordrer.

Men jeg ved slevf ikke hvor meget data du allerede har i tabellerne
Avatar billede conitec Nybegynder
17. juli 2003 - 14:24 #2
Databasen er under opbygning, så andre ideer er velkomne, så jeg prøver at se på dit foreslag.
Kan se du lægger op til at køre det som en ordrestyring, skal lige vurdere hvor meget arbejde det vil give at oprette dem som ordre.
Da ideen er den skal køre 50 TV-kanaler til 300 brugere, som default har tilvalgt alle kanaler, og for så at tage højde for fremtiden, giver mulighed for fravalg. Derfor så jeg løsningen med "flueben" for tilvalgt program som genial, som så henter prisen i Tabel 2.
Også hvis man indføre forskellige TV-pakker

Ser lige hvad der ellers kommer af foreslag
Avatar billede terry Ekspert
17. juli 2003 - 14:29 #3
Redesign your tables :o)

You should have THREE tables, one for User, one for Program Infor and the third for UserProgram.
This is a many to many relationship as far as I can make out!
Avatar billede terry Ekspert
17. juli 2003 - 14:30 #4
Program Infor = program information
Avatar billede terry Ekspert
17. juli 2003 - 14:31 #5
User:
--
UserID
UserName

Program
--
ProgramID
ProgramNavn
ProgramNr
Pris


UserProgram
--
UserID
ProgramID
Avatar billede terry Ekspert
17. juli 2003 - 14:43 #6
Having thre tables doesnt mean that you have to manually create 300 records when a new channel comes, it can be done quite easily with a single SQL! If you have only tow tables you have to alter the design of your table each time a new channel comes! NOt smart at all :o)
Avatar billede overchord Nybegynder
17. juli 2003 - 15:59 #7
Terry har ret - det ville vaere bedre. Jeg vidste ikke hvor langt du var i processen saa moederede det lidt til hvad du allerede havde.
Avatar billede conitec Nybegynder
18. juli 2003 - 14:49 #8
Jeg har nu bygget den op over en mange til mange relation mellem de to tabeller og set at det virker.

Da jeg så løsningen, tænkte jeg også det da logisk, men det ses jo også med "friske" øjne:-)

Jeg er stadigvæk varm på ideen om at præsentere det som tilvalgsknapper, da jeg tror en brugere bedre kan forstå sammenhænget på den måde.

Bruger weekenden til at tænke over hvad løsningen bliver, men det tyder på Terry's ide med mange til mange relationen nok er den mest rigtige
Avatar billede terry Ekspert
18. juli 2003 - 17:47 #9
this is what relational databases is all about :o)

og god weekend!
Avatar billede conitec Nybegynder
21. juli 2003 - 13:21 #10
Er ikke kommet på noget nyt i Weekenden, så tak for hjælpen Terry
Avatar billede terry Ekspert
21. juli 2003 - 13:23 #11
selv tak :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Vive - Det Nationale Forsknings- og Analysecenter for Velfærd

Erfaren datamanager med registerkompetencer

Netcompany A/S

Managing Architect

Danske Commodities A/S

Procurement manager

Udviklings- og Forenklingsstyrelsen

Underdirektør til gældsområdet