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


Outer join av två select-frågor

Postades av 2006-11-15 10:58:02 - Siri Haglund, i forum sql-server/msde, Tråden har 1 Kommentarer och lästs av 893 personer

Hej!

Vill kombinera resultatet från två frågor men lyckas inte få till det riktigt.

--första frågan
select g.goodsid, g.goodsname, rg.qty
from recipegoods rg
join goods g on rg.goodsid = g.goodsid
where rg.recipeid='rec_1'

--andra frågan
select gi.goodsid, gi.supplier, isnull(bi.qty,'') as bqty
from goodsitem gi
join batchitem bi on gi.itemid = bi.itemid
where bi.batchid='1000000001'

Resultatet av de två frågorna blir

goodsid goodsname qty
------- --------- ----
r_1 Salt 1.0
r_2 Peppar 1.0
r_3 Fläskfärs 3.0
r_4 Oxfond 2.0
r_8 Nötfärs 10.0

(5 row(s) affected)

goodsid supplier bqty
-------- --------- ----
r_2 Kockens 1.0
r_4 Bong 2.0
r_3 Coop 3.0
r_1 Jozo 0.0

(4 row(s) affected)

Behöver alltså komplettera raderna från första frågan med eventuella träffar från andra frågan.

Vid en yttre join mellan tabellerna goods och goodsitem blir dock resultatet för många träffar ur goodsitem och en begränsning behöver göras genom en join med tabellen batchitem. Följande fungerar, men behöver kompletteras så att man även får ut bi.bqty på något sätt, går det?

select g.goodsid, g.goodsname, rg.qty, gi.goodsid, gi.supplier
from recipegoods rg
join goods g on rg.goodsid = g.goodsid
left outer join goodsitem gi on g.goodsid = gi.goodsid and gi.itemid in (select bi.itemid from batchitem bi where bi.batchid='1000000001')
where rg.recipeid='rec_1'

Detta ger följande

goodsid goodsname qty goodsid supplier
-------- ----------- ----- -------- ---------
r_1 Salt 1.0 r_1 Jozo
r_2 Peppar 1.0 r_2 Kockens
r_3 Fläskfärs 3.0 r_3 Coop
r_4 Oxfond 2.0 r_4 Bong
r_8 Nötfärs 10.0 NULL NULL

(5 row(s) affected)

men problemet är att detta resultat behöver kompletteras med bqty från tabellen batchitem, dvs att jag vill åt fält från alla fyra tabellerna. (Eller kanske att jag krånglat till det för mig? ;O) )

Tacksam för tips!

Mvh Siri


Svara

Sv: Outer join av två select-frågor

Postades av 2006-11-15 11:41:05 - Siri Haglund

Hej igen,

har nu kommit på en lösning:

select g.goodsid, g.goodsname, rg.qty, gi.goodsid, gi.supplier, bi.qty as bqty
from recipegoods rg
join goods g on rg.goodsid = g.goodsid
left outer join goodsitem gi on g.goodsid = gi.goodsid and gi.itemid in (select bi.itemid from batchitem bi where bi.batchid='1000000001')
left outer join batchitem bi on gi.itemid = bi.itemid
where rg.recipeid='rec_1'

Detta ger fält från alla fyra tabellerna

goodsid goodsname qty goodsid supplier bqty
-------- ----------- ----- -------- --------- ------
r_1 Salt 1.0 r_1 Jozo 0
r_2 Peppar 1.0 r_2 Kockens 1
r_3 Fläskfärs 3.0 r_3 Coop 3
r_4 Oxfond 2.0 r_4 Bong 2
r_8 Nötfärs 10.0 NULL NULL NULL

(5 row(s) affected)

...
ofta hjälper det att få ner problemet! Tack ändå!

/Siri


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 616
27 953
271 709
5 666
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