20. august 2019 - 10:34Der er
6 kommentarer og 2 løsninger
Sammenlæg varelinier med ens varenr på en ordre
En kunde har to ordre... og de to ordre ændres til en ordre Indtil nu er ordrenummeret blot blevet ændret for varelinierne, men for at undgå, at det samme varenummer står på ordren to gange, så skal varelinier med samme varenummer sammenlægges
er der en der har haft en lignende problematik, som måske lidt sql input ?
Kan se jeg har valgt forkert db - det er sql server, men jeg ønsker at ændre varelinie-tabellen - slette nogle linier og ændre antal stk på andre linier
Kan godt være jeg er nødt til at lave et loop af records, og det kan jeg også godt gøre via VBA, men ville gerne have haft en SQL løsning, hvis der var en MERGE-agtig funktion
MSSQL eller MySQL er ligegyldigt. Men syndes ikke det er optimalt at begynde at slette fra tabellen, altid en god ide at have originaldata liggende. Havde nok skabt en anden tabel og lagt det over i den.
Ordren ligger i reserveret, og er ikke bekræftet endnu, så om linien ligger der eller ej betyder ikke så meget, faktisk ingen ting, men måske skulle jeg bare oprette en ny reservering... loope lidt rundt i varelinierne og oprette de nye linier, hvor jeg har har lavet sum på antal... og derefter sætte status på de to andre reserveringer til annulleret
Enig med Michael, men hvis du vil gøre det, er en mulighed:
1. UPDATE ordre2id til ordre1id i alle varelinier 2. Lav SELECT med SUM på antal og GROUP by vareid og brug den til INSERT i varelinie-tabellen, hvor ordreid sættes til "xxx" (bare et eller andet, der ikke bruges) 3. DELETE alle varelinier med ordreid1 4. UPDATE alle varelinier med "xxx" til ordreid1
men jeg medgiver, at det ikke er en køn læsning og i tiden mellem det første og det sidste query skal der ikke være andre brugere, der forsøger at ændre noget.
starter med at sætte ordrestatus til annulleret på ordre 1 og 2, så dukker de ikke op andre steder, så behøver jeg ikke slette noget, og historikken er intakt
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.