12. oktober 2005 - 16:26Der er
29 kommentarer og 1 løsning
tilføj række sorteret på dato, stationsmærke og bemandet
Lidt ala mit sidste spm. Jeg skal have tilføjet en række med listeprisen (rackprice) til den tabel jeg i forvejen har. Rackprisen skal tilføjes hvor dato = dato(gir sig selv) station = station(shell, statoil etc. og bemandet = bemandet (0 hvis ubemandet 1 hvis bemandet). Jeg har forsøgt med:
IIf(IsNull(listepriser.listepris),0,listepriser.listepris) AS rackprice INTO [datany]
FROM data LEFT JOIN listepriser ON (data.Bemandet = listepriser.Bemandet) AND (data.Station = listepriser.Station) AND (data.Dato = listepriser.Dato);
Men det virker ikke helt efter hensigten - som om den bare tilføjer de observationer oveni dem jeg har i forvejen. Således at der kommer flere observationer.
"som om den bare tilføjer de observationer oveni dem jeg har i forvejen"
Tyder på at du har valgt en tilføjelsesforespørgsel, der som navnet siger tilføjer nye poster til en tabel. Du bør i stedet vælge en opdateringsforespørgsel, der opdaterer et i forvejen eksisterende felt i tabellen
Den skal ikke opdaterer et eksisterende felt den skal oprette feltet rackprice i tabellen data hvor den tilføjer listepriser fra tabellen listepriser, når de tre betingelser er opfyldt, dato, station og bemandet.
Har du kontrolleret at du har en opdateringsforespørgsel og ikke en tilføjelsesforespørgsel?
Synes godt om
Slettet bruger
13. oktober 2005 - 12:19#8
Hvad med at lave en forespørgsel, som har de hits du ønsker opdateret. Så lav det til en tilføjelsesforespørgsel og tilføj rackprice fra listepriser?~)
Jeg er ikke sikker på jeg er med, jeg kan jo netop ikke lave en forespørgsel der har de hits jeg ønsker. Ang. opdateringsforespørgsel så kan jeg ikke få det til at virke da jeg jo ikke skal opdatere noget felt men have et felt tilføjet...
UPDATE listepriser INNER JOIN data ON (listepriser.Dato = data.Dato) AND (listepriser.Bemandet = data.Bemandet) AND (listepriser.Station = data.Station) SET data.listepris = [listepriser]![listepris];
altså jeg ved ikke helt hvordan jeg skal forklarer det men problemet er helt ligesom: http://exp.dk/spm/652801 nu er der bare tre betingelser der skal være opfyldt, dato,station og bemandet... Hvis jeg laver update forespørgsel kommer der en tom tabel ud..
Hej Terry ja det var også den jeg var fremme ved, men der er 58323 observationer i tabellen data og køres denne forespørgsel er der lige pludselig 60818 der er altså nogle linier der kommer dobbelt og de skal de jo ikk...
If records appear twice then it measn that you have more than one record with the same dato, bemandet, station in table listepriser.
Try this to see if i am right
SELECT listepriser.Dato, listepriser.Bemandet, listepriser.Station, Count(listepriser.Dato) AS CountOfDato FROM listepriser GROUP BY listepriser.Dato, listepriser.Bemandet, listepriser.Station;
Nu stiller jeg lige spørgsmålet her men opretter gerne et nyt af 200 point - kan man lave en forespørgsel der opdaterer således at på en given dag er der kun en altså så count bliver en for alle...?
hej terry - tror måske det er smartest at lave en forespørgsel der alene opdaterer tabellen listepriser og så derefter kører der de to sammen? ovenstående virker ihvertfald ikke helt efter hensigten.
do you undersatnd my comment concerning unique index? Have one would save you lots of problems :o)
Synes godt om
Ny brugerNybegynder
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.