27. december 2021 - 16:52
Der er
5 kommentarer
Hjælp til one-to-many eller many-to-many
Hej i kloge hoveder.
Jeg sidder og roder med lidt Oracle som jeg ikke helt kan gennemskue.
Det drejer sig om kontrol af udtrukne lottotal vs mine rækker.
Jeg har 1 tabel "LOTTO" og 1 tabel "LOTTO_KUPON" :
create table LOTTO
(
dato DATE,
vtal1 NUMBER(2),
vtal2 NUMBER(2),
vtal3 NUMBER(2),
vtal4 NUMBER(2),
vtal5 NUMBER(2),
vtal6 NUMBER(2),
vtal7 NUMBER(2),
ttal1 NUMBER(2),
ttal2 NUMBER(2),
trumf CHAR(3),
gev7_trumf NUMBER(8),
gev7 NUMBER(8),
gev6_t NUMBER(8),
gev6 NUMBER(8),
gev5 NUMBER(8),
gev4 NUMBER(8)
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 640K
next 640K
minextents 1
maxextents unlimited
);
og 1 tabel
create table LOTTO_KUPON
(
rk NUMBER(2),
t1 NUMBER(2),
t2 NUMBER(2),
t3 NUMBER(2),
t4 NUMBER(2),
t5 NUMBER(2),
t6 NUMBER(2),
t7 NUMBER(2),
rowid_id VARCHAR2(18),
dato DATE
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
Skal der laves en one-to-many eller en many-to-many relation her.
Der er 20 faste lotto rækker og pt 1679 lotto rækker.
Det jeg gerne vil frem til er en Oracle Forms block hvor jeg får vist ugens lottotal samt gevinster og en anden block hvor jeg får vist mine 20 lottorækker med angivelse af antal rigtige og hvor meget (eller lidt) jeg har vundet.
Jeg har fået alle data frem ved hjælp af et view, men det virker ikke i Forms.
27. december 2021 - 17:15
#1
Jeg kan hverken lide dine felt navne eller dine data typer.
Men hvis jeg har forst]et det rigtigt s[ har du en tabel med resultatet fra en lotto tækning og en anden tabel med de lotto kuponer du har købt.
Og du bruger lotto trækning dato og lotto kupon træknings dato til at koble dem sammen.
Hvilket giver en en til mange relation. 1 trækning - mange kuponer.
Bemærk dog at det skal ændres til en mange til mange relation hvis du vil understøtte 5 ugers eller 10 ugers kuponer, men det vil også kræve ændringer til lotto pupon tabellen.
27. december 2021 - 17:33
#2
Det med dato i LOTTO_KUPON tabellen var et forsøg.
Jeg skulle have redigeret inden indsendelse :-(
Den skulle ikke have været med i spørgsmålet.
DATA typer skal være INT.
Jeg kan godt lave en en til mange relation, men som jeg ser det giver det jo 1679 * 20 rækker i tabellen.
27. december 2021 - 18:14
#3
Hej arne_v,
Det er en til mange relationen jeg har arbejdet med, men har ikke kunnet få det til at virke.
Felt navnene er som de er på grund af at det jo udelukkende er til mine egne private tabeller.
Mine tidligere analyser af private data har bl.a. afsløret at vores fjernvarmeværk har afregnet forkert de sidste 9 år idet de har udsendt info om at fra nu afregnes efter beregnet retur-temperatur i stedet for aflæst retur-temperatur.
De havde bare glemt at implementere det i deres system.
Både Kamstrup og Dansk Fjernvarme var imponerede over mine data :-)
27. december 2021 - 18:29
#4
Hvilken relation der er påvirker ikke antal rækker.
Du har et antal rækker i den ene tabel og et antal rækker i den anden tabel.
Og en relation er ikke noget som virker eller ikke virker men dine tanker som resulterer i en tabelstruktur.
[man kan så implementere relationer som foreign key contraints, men det er er noget andet]