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 1009 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

  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов

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 570 899
27 965
271 778
634
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