Avatar billede dragnor Juniormester
11. maj 2006 - 11:34 Der er 4 kommentarer og
1 løsning

Besværlig update sætning

Hej eksperter,

Jeg har følgende liste:

---------------------------
| ID |  baneid  | afstand |
---------------------------
| 2  |  DK1    |  5      |
---------------------------
| 1  |  DK2    |  5      |
---------------------------
| 2  |  DK1    |  10    |
---------------------------
| 1  |  DK2    |  10    |
---------------------------
| 3  |  DK2    |  3      |
---------------------------

Nu kommer det kryptiske.
Det er sådan at jeg skal sortere og opdatere sådan at:
Alle dem hvor DK1 indgår skal den DK1 som har den laveste afstand have ID=1 og den næstlaveste afstand skal have ID=2 osv.

DVS lavest afstand lavest ID nummer.

Det samme skal redigeres for DK2, altså lavest afstand lavest ID nummer.

så tabellen kommer til at se sådan her ud:

---------------------------
| ID |  baneid  | afstand |
---------------------------
| 1  |  DK1    |  5      |
---------------------------
| 2  |  DK1    |  10    |
---------------------------
| 1  |  DK2    |  3      |
---------------------------
| 2  |  DK2    |  5      |
---------------------------
| 3  |  DK2    |  10    |
---------------------------
Avatar billede terry Ekspert
11. maj 2006 - 12:17 #1
I very much doubt that you can use an SQL Update to do this. You will need to do it in code.
Avatar billede Slettet bruger
11. maj 2006 - 15:42 #2
Jeg kiggede lidt på det, men render ind i "skal bruge en opdaterbar forespørgsel", det kan jeg ikke lige finde nogen løsning på, men måske er der en anden, som kan!~)

Forespørgsler:

Q1:
SELECT Table1.Baneid, [Opdater id, start med 1 og så gå opad en af gangen:] AS Opdater, Min(Table1.afstand) AS MinOfafstand
FROM Table1
WHERE (((Table1.ID)>=[Opdater id, start med 1 og så gå opad en af gangen:]))
GROUP BY Table1.Baneid, [Opdater id, start med 1 og så gå opad en af gangen:];


Q2:
UPDATE Table1 INNER JOIN Q1 ON (Table1.afstand = Q1.MinOfafstand) AND (Table1.Baneid = Q1.Baneid) SET Table1.ID = [opdater];


Det er så meningen at du bare kører forespørgsel Q2...

Måske er problemet noget med den INNER JOIN i en update, jeg ved det ikke rigtigt!~)
Avatar billede dragnor Juniormester
13. maj 2006 - 16:41 #3
Ja en opdaterbar forespørgsel tror jeg lige er sagen, men eksistere det, det er jo lige det som er problemet!
Avatar billede terry Ekspert
13. maj 2006 - 18:08 #4
The problem is finding the ID column!
Avatar billede dragnor Juniormester
09. juni 2006 - 16:17 #5
Der eksistere ikke en opdaterbar forespørgsel men har løst mit problem på anden vis og trækker mit spørgsmål tilbage. dragnor
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