28. december 2003 - 10:47Der er
23 kommentarer og 1 løsning
Select og update
Jeg har et problem med en opdatering af min MySQL db. Jeg har en tabel der indeholder konsultationer, fra hvilken uge de skal starte og til hvilken uge de skal slutte og hvilket årstal. I en anden tabel, der hedder aftaler, oprettes alle de konsultationer der skal ske pr. dag og uge. Mit problem er som følger. Jeg har et felt i begge mine tabeller der hedder aktiv som kan indeholde værdien 0 eller 1. I tabellen konsultationer er der angivet årstal, men ikke i aftaler da konsultations_id er fremmednøgle i denne tabel. Problemet er når jeg opdatere begge tabeller opdateres dem for næste år også pga. at i tabel aftaler ikke er feltet med årstal, som jo er i tabellen konsultationer.
Dette virker i hvert fald ikke:
UPDATE aftaler set active = '0' where week <= '52' and konsultationer.year = '2003'
Hvis det var til at forstå ,0)) hvad skal jeg så gøre?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
UPDATE aftaler,konsultationer SET aftaler.active='0' WHERE aftaler week<='52 AND konsultationer.year='2003' AND afytaler.id=konsultationer.konsultations_id
Det er da lidt underligt at du har en "halv" tidsangivelse i den ene tabel - altså en uge uden specificeret år. Men jeg kan ikke sige den er "forkert" eller en anden er "rigtig(ere)" uden at vide mere om dit problemområde.
Det vil sige at jeg både skal ha' felet year i begge tabeller, så jeg er jeg i hvert fald ude over problemet, det er nok bare mig der ikke helt fatter relations db teorin...
Det er bestemt en løsning, der vil virke her og nu. Så virker det som om du har den samme oplysning to steder (redundans), men jeg kan ikke ud fra det du skriver se forskellen på en konsultation og en aftale ;)
Ja, så har du da i hvert fald de samme data flere steder ;) Men du kan så ikke oprette en konsultation fra uge 50 2003 til uge 5 2004 ? Hvad med om du lavede det sådan
Konsultation id, navn, adresse, bla, bla, bla
Aftaler id, konsultations_id, uge, dag, år, dato, etc etc
Nej jeg vil gerne ha' det til at køre rigtigt jeg tror bare ikke jeg helt forstår hvad du mener. Hvordan ville du fx. komme ud over det problem at man ikke kan oprette konsultationer fx. fra uge 50 2003 til uge 5 2004 ?
Sådan som jeg skriver. Du har to ting i dit system:
En konsultation: en patient henvender sig hos en akupunktør - rent gæt - og skal behandles for nedgroede negle. Akupunktøren siger at det tager 6 gange med en uges mellemrum. Patienten kan bedst mandage, så i en GUI taster akupunktøren navn adresse, etc ind, og at det skal være fra uge 8 2004 og 6 uger frem. Systemet foreslår så de 6 datoer, men der er desværre en 2. påskedag, som er optaget. Ok, siger patienten, så tager vi tirsdagen i stedet for.
Aftaler: Når datoerne nu ligger fast sættes de ind i din aftale tabel, med fremmednøgle tilbage til konsultationen, og patienten får en udskrift af datoer og tidspunkter (som heller ikke nødvendigvis ligger fast) med hjem.
Det giver akupunktøren mulighed som udgangspunkt at tænke i "samme dag og tidspunkt i et antal uger fra nu" (jeg gætter igen på, at det er hvad han måske har bedt om), med den nødvendige fleksibilitet at opbevare aftalerne separat.
Men jeg gætter bare - jeg kender ikke din kundes konkrete behov. Det jeg forsøger at sige her, er at du skal opbevare data så det er hensigtsmæssigt for dig som programmør, og give kunden en GUI, der er hensigtsmæssig for ham. skal der laves
Ja ok, det har du fuldstændig ret i. Det ovenstående passer ikke helt ind i mit senario men hvor skulle du os' vide fra hvad mit handler om. Det er i hvert fald prisværdigt at du gider at komme med så uddybende en forklaring. Og den har da os' givet mig inspiration til at ændre mit system radikalt. Takker for hjælpen.
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.