Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


updatera "trädstruktur" (kommer inte på någon bra rubrik)

Postades av 2008-08-13 15:48:19 - Andreas Olausson, i forum sql-server/msde, Tråden har 2 Kommentarer och lästs av 1348 personer

Så här är det.

Jag har en tabell (det hade ju varit smidigt med parent Id eller så men det finns icke)
level är vilken indentering det ska vara...

id row level
26813 0 0
27234 1 0
27202 2 1
27201 3 1
26867 4 0
26870 5 0
26872 6 1
26901 7 1
27231 8 2
27232 9 0

1. Jag vill stoppa in ett nytt värde under row 1 (27234) och ha den i samma nivå. med andra ord ska den hamna som ny rad 4, nuvarande 4 ska bli 5, 5 ska bli 6 osv...

2. Jag vill stoppa in nytt under samma rad (row 1) fast denna gång som underliggande objekt. samma sak händer ju här det ska bli en ny row 4 (fast level ska bli 1)

Någon idé hur man löser detta smidigt, genom sql-satser?

Tack på förhand
/Andreas


Svara

Sv: updatera "trädstruktur" (kommer inte på någon bra rubrik)

Postades av 2008-08-13 16:35:54 - Niklas Jansson

1.
Du måste ju först hitta den första rad som ligger på samma nivå eller lägre än den du är ute efter. Jag skulle lösa det så här:
Antag att vi får in önskad rad som "r".
L = SELECT level FROM Table WHERE row = r

Detta ger då alla tänkbara "icke-barn":
SELECT Row, Level FROM Table WHERE Row>r, level<L

Där ska vi ha den högsta; något i stil med:
X = SELECT TOP 1 Row FROM Table WHERE Row>r, level<L
Det är denna rad vi ska flytta ner ifrån, alltså
UPDATE Table SET Row = Row+1 WHERE Row>= X
INSERT INTO Table Values (id, X, L)


2. Borde lösas på samma sätt, men istället använda
INSERT INTO Table Values (id, X, L+1)

(Sql-satserna kan du ju förstås slå ihop via subselects osv.)


Svara

Sv:updatera "trädstruktur" (kommer inte på någon bra rubrik)

Postades av 2008-08-14 21:40:41 - Andreas Olausson

Tack så mycket!

Det löste allt!


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
5 508
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies