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


SQL sats

Postades av 2008-03-19 16:44:07 - jonas Eriksson, i forum sql-server/msde, Tråden har 4 Kommentarer och lästs av 1001 personer

Hej!

Sitter på ett ganska jobbigt problem. Jag har utformat en sql sats som skriver ut barn till vederbörande förälder. Information i databasen ser ut så här.

Förälder1:
Barn 1 | rev A
Barn 1 | rev B

Förälder2:
Barn 1 | rev B
Barn 1 | rev C

Förälder3:
Barn 1 | rev C
Barn 1 | rev D

Förälder4:
Barn 1 | rev D

Jag har utformat en sql sats som ser ut som följer (tbl_minvy):

Parent| Child | rev | flagga
------------------------------
Förälder 1 | Barn 1 | A | 1 |
Förälder 1 | Barn 1 | B | 1 |
Förälder 1 | Barn 1 | C | 0 |
Förälder 1 | Barn 1 | D | 0 |
Förälder 2 | Barn 1 | A | 0 |
Förälder 2 | Barn 1 | B | 1 |
Förälder 2 | Barn 1 | C | 1 |
Förälder 2 | Barn 1 | D | 0 |
Förälder 3 | Barn 1 | A | 0 |
Förälder 3 | Barn 1 | B | 0 |
Förälder 3 | Barn 1 | C | 1 |
Förälder 3 | Barn 1 | D | 1 |
Förälder 4 | Barn 1 | A | 0 |
Förälder 4 | Barn 1 | B | 0 |
Förälder 4 | Barn 1 | C | 0 |
Förälder 4 | Barn 1 | D | 1 |

Jag vill få nu få ut följande
Parent| Child | rev | flagga
------------------------------
Förälder 1 | Barn 1 | A | 0 |
Förälder 1 | Barn 1 | B | 1 |
Förälder 1 | Barn 1 | C | 0 |
Förälder 1 | Barn 1 | D | 0 |
Förälder 2 | Barn 1 | A | 0 |
Förälder 2 | Barn 1 | B | 0 |
Förälder 2 | Barn 1 | C | 1 |
Förälder 2 | Barn 1 | D | 0 |
Förälder 3 | Barn 1 | A | 0 |
Förälder 3 | Barn 1 | B | 0 |
Förälder 3 | Barn 1 | C | 0 |
Förälder 3 | Barn 1 | D | 1 |
Förälder 4 | Barn 1 | A | 0 |
Förälder 4 | Barn 1 | B | 0 |
Förälder 4 | Barn 1 | C | 0 |
Förälder 4 | Barn 1 | D | 1 |

Jag vill alltså enbart få ett barn av varje förälder, nämligen den senaste enligt revisionsbokstav (ASCII värdet)..

Hur ser sql-satsen ut?
tabellnamnet är tbl_minnyvy, innehållande kolumnerna: Parent, Child, rev, flagga.

stort tack på förhand


Svara

Sv: SQL sats

Postades av 2008-03-19 16:45:35 - jonas Eriksson

Värt att tillägga är att det kan finnas ex förälder5 som inte har något av barnen kopplade till sig men som ändå skall visas enligt:

Förälder5 | barn 1 | A | 0
Förälder5 | barn 1 | B | 0
Förälder5 | barn 1 | C | 0
Förälder5 | barn 1 | D | 0


Svara

Sv:SQL sats

Postades av 2008-03-19 19:21:53 - Håkan Borneland

Har du SQL Server 2005 kan du använda CTE:

<code>
;WITH #temp AS
(
SELECT parent, child, MAX(rev) AS rev
FROM tbl_minnyvy
WHERE (flagga = 1)
GROUP BY parent, child
)
SELECT a.parent, a.child, a.rev, CASE WHEN (a.rev = b.rev) THEN 1 ELSE 0 END AS flagga
FROM tbl_minnyvy a
LEFT OUTER JOIN #temp b ON (a.parent = b.parent) AND (a.child = b.child);
</code>

/Håkan


Svara

Sv: SQL sats

Postades av 2008-03-25 08:40:03 - jonas Eriksson

Hej, tack för svar. Jag sitter på en Oracle 9.7.0.1 och behöver konvertera sql-satsesn så att den är kompatibel med den. Jag kan alltså inte skriva sqlsatsen mot sql server 2005..


Svara

Sv:SQL sats

Postades av 2008-03-25 16:25:19 - Håkan Borneland

Det var värre det, eftersom det här forumet är för just SQL Server.
Tyvärr har jag aldrig jobbat mot Oracles databaser,
så jag kan inte hjälpa dig med en eventuell konvertering.

/Håkan


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 617
27 953
271 709
5 725
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