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


Klurig SQL

Postades av 2003-02-06 02:11:02 - Benni Svensson, i forum sql-server/msde, Tråden har 4 Kommentarer och lästs av 721 personer

Jag fick hjälp av JohanD(tror jag) med en väldigt inveklad SQL.

Nu behöver jag utvekla den lite, och jag har trixat lite och nästan lyckats.
Så här ser SQL:en ut:
<code>
SELECT t_SongTitlar.ArrNo,
t_songtitlar.songtitel,
(SELECT TOP 1 namn FROM t_songforfattare
INNER JOIN t_forfattare
ON t_songforfattare.for_id = t_forfattare.for_id
WHERE ArrNo = t_songtitlar.ArrNo
ORDER BY t_songforfattare.for_id ASC) AS Författare,
(SELECT TOP 1 namn
FROM t_songforfattare
INNER JOIN t_forfattare
ON t_songforfattare.for_id = t_forfattare.for_id
WHERE ArrNo = t_songtitlar.ArrNo
AND t_songforfattare.for_id >
(SELECT TOP 1 for_id
FROM t_songforfattare
WHERE ArrNo = t_songtitlar.ArrNo
ORDER BY for_id ASC)
ORDER BY t_songforfattare.for_id ASC) AS Författare2,
(SELECT TOP 1 namn
FROM t_songforfattare
INNER JOIN t_forfattare
ON t_songforfattare.for_id = t_forfattare.for_id
WHERE ArrNo = t_songtitlar.ArrNo
AND t_songforfattare.for_id >
(SELECT TOP 1 for_id FROM t_songforfattare
WHERE ArrNo = t_songtitlar.ArrNo
AND t_songforfattare.for_id >
(SELECT TOP 1 for_id
FROM t_songforfattare
WHERE ArrNo = t_songtitlar.ArrNo
ORDER BY for_id ASC)
ORDER BY t_songforfattare.for_id ASC)) AS Författare3
From t_songtitlar
LEFT JOIN t_songforfattare
ON t_songtitlar.ArrNo = t_songforfattare.ArrNo
LEFT JOIN t_Forfattare
ON t_songforfattare.for_id = t_forfattare.for_id
Where t_forfattare.Namn = 'kimbely widing'
order by t_songtitlar.ArrNo
</code>
Det går utmärkt att söka första i första selecten(Författare) och i andra(Författare2),
men inte i den sista. Förstår ni?
Hjälp skulle vara underbart....


Svara

Sv: Klurig SQL

Postades av 2003-02-06 09:18:58 - Christoffer Hedgate

Jag förstår inte riktigt din fråga eller vad du vill göra. Vad vill du ha ut för resultat? Vad är det som fungerar och vad fungerar inte?


Svara

Sv: Klurig SQL

Postades av 2003-02-06 11:31:31 - Benni Svensson

Kanske dåligt förklarat av mig.
Det är så här, jag fick tag på en underbar ocr(listbox) där man kan färga text, bakgrund olika för varje rad.
Vad jag nu vill åstakomma är:
När det gäller författarna på melodiera så kan de vara ifrån en till tre per sångtext.
Om den förfataren jag pekar på(via en annan listbox) har skrivit denna texten själv, så vill jag markera detta med en anllunda färg.

Denna sql är kanon, men har en svaghet. om jag pekar på en författare som ligger som forfattare3, så visas den inte i listan, därimot om han ligger som forfattare2.

Det finns alltså ett fel någonstans i SQL:en som jag inte kan finna.
Förstår du nu???
PS
Detta är ögongodis.
DS


Svara

Sv: Klurig SQL

Postades av 2003-02-06 12:42:53 - Benni Svensson

Jag hade tydligen fel, SQLen fungerar, men tydligen inte mitt huvud.
Nu är det alltså så här.
Det finns de melodier som enbart har en författare(forfattare), andra kan ha två eller tre stycken.
Men det är de förstnämda som jag vill åt, alltså melodierna som bara har en författare skall färgas och är det mer än en, så skall det inte färgas. När det bara finns en författare så ger ju Rst ifrån sig null-värde, och det är här som jag misslyckas.
Så här försöker jag:

i DO lopen:
<code>
If Not IsNull(Rst(4)) Then
lList1.AddItem Rst(0) & " " & " " & Rst(1)
Else
lList1.AddItem Rst(0) & " " & " " & Rst(1), , RGB(44, 8, 195), RGB(200, 234, 247)
End If
</code>
Så här "på pappret" så ser det ju riktigt ut, men den fungerar inte som den skall. Den färgar alldeles för många melodier, sådana som har mer än en författare
Om jag tar med Rst(4) (som är forfattare3) så får jag ett fel.
Vad tror ni?


Svara

Sv: Klurig SQL

Postades av 2003-02-06 14:10:59 - Benni Svensson

Skulle tydligen vara:
<Code>
If Not IsNull(Rst("Författare2")) Or Not IsNull(Rst("Författare3")) Then
lList1.AddItem Rst(0) & " " & " " & Rst(1)
Else
lList1.AddItem Rst(0) & " " & " " & Rst(1), , RGB(44, 8, 195), RGB(200, 234, 247)
End If
</code>


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 619
27 953
271 709
550
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