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 med fler än en tabell?

Postades av 2003-06-18 11:32:22 - Henrik Vennerberg, i forum databaser, Tråden har 4 Kommentarer och lästs av 767 personer

Jag har 5 tabeller som jag använder i en query. Jag vill lägga till en 6:e men informationen matchar bara vissa records i de andra tabellerna. Jag skulle vilja göra något som motsvarar en OUTER LEFT JOIN. Dvs lägga till alla records från dagens query och lägga till infon från tabell 6 i de fall där den finns. Men OUTER LEFT JOIN går bara att göra med 2 tabeller om jag förstått det rätt. Kan man göra någon form av query i query:n för att lösa detta?

/Henrik


Svara

Sv: Outer join med fler än en tabell?

Postades av 2003-06-18 11:45:40 - Andreas Hillqvist

Beskriv din datastruktur? KAn du skicka med din fråga? Vad använder du för databas?


Svara

Sv: Outer join med fler än en tabell?

Postades av 2003-06-18 12:10:57 - Henrik Vennerberg

Så här ser frågan ut:

SELECT DISTINCT sstatp.sm_no, sm.sm_name, sstatp.cu_no, cu.cu_name, sstatp.art_no, art.art_descr, pgr.prod_group, pgr.prod_group_descr, sstatp.ord_qty, sstatp.ord_revenue, sstatp.ord_cost, sstatp.inv_qty, sstatp.inv_revenue, sstatp.inv_cost, sstatp.century, sstatp.stat_per, sstatp.st_loc, sstatp.cons_no, scost.mtrl_cost, scost.mfg_cost, scost.mtrl_oh_cost_var+scost.mfg_oh_cost_var, scost.mtrl_oh_cost_fix+scost.mfg_oh_cost_fix+scost.mach_cost_fix, scost.std_price
FROM guda.art art, guda.cu cu, guda.pgr pgr, guda.scost scost, guda.sm sm, guda.sstatp sstatp
WHERE art.art_no = sstatp.art_no AND sstatp.st_loc = art.st_loc AND sstatp.sm_no = sm.sm_no AND art.prod_group = pgr.prod_group AND sstatp.cu_no = cu.cu_no AND art.art_no = scost.art_no AND ((sstatp.century>19) AND (pgr.prod_group=2020) AND (sstatp.stat_per<9000 And sstatp.stat_per>300) OR (sstatp.century=20) AND (pgr.prod_group=2020) AND (sstatp.stat_per<9000 And sstatp.stat_per>300))

I tabell scost finns det information som inte matchar de andra tabeller helt och hållet. Jag skulle alltså vilja få med infon från denna tabell i de fall där den finns och i övrigt lämna blankt.

Vi kör detta i en Oracledatabas.

/Henrik


Svara

Sv: Outer join med fler än en tabell?

Postades av 2003-06-18 13:24:00 - Christoffer Hedgate

SELECT DISTINCT sstatp.sm_no, sm.sm_name, sstatp.cu_no, cu.cu_name, sstatp.art_no, art.art_descr, pgr.prod_group, pgr.prod_group_descr, sstatp.ord_qty, sstatp.ord_revenue, sstatp.ord_cost, sstatp.inv_qty, sstatp.inv_revenue, sstatp.inv_cost, sstatp.century, sstatp.stat_per, sstatp.st_loc, sstatp.cons_no, scost.mtrl_cost, scost.mfg_cost, scost.mtrl_oh_cost_var+scost.mfg_oh_cost_var, scost.mtrl_oh_cost_fix+scost.mfg_oh_cost_fix+scost.mach_cost_fix, scost.std_price
FROM guda.art art, guda.cu cu, guda.pgr pgr, guda.scost scost, guda.sm sm, guda.sstatp sstatp
WHERE art.art_no = sstatp.art_no AND sstatp.st_loc = art.st_loc AND sstatp.sm_no = sm.sm_no AND art.prod_group = pgr.prod_group AND sstatp.cu_no = cu.cu_no AND ((sstatp.century>19) AND (pgr.prod_group=2020) AND (sstatp.stat_per<9000 And sstatp.stat_per>300) OR (sstatp.century=20) AND (pgr.prod_group=2020) AND (sstatp.stat_per<9000 And sstatp.stat_per>300))
AND art.art_no = scost.art_no (+)

Jag är inte helt säker på OUTER LEFT JOIN syntaxen i Oracle (är det 9i du kör så rekommenderar jag dig att skriva ANSI join-syntax istället), men om jag fattar frågan rätt så är det väl bara att lägga till outer join villkoret till joinen mellan art och scost? Jag har flyttat det till slutet för att det ska vara lättare att se. Bara för att det är flera tabeller inblandade i en fråga innebär det inte att alla tabeller joinas mot alla andra tabeller, varje join görs mellan de tabeller som anges i joinvillkoret.


Svara

Sv: Outer join med fler än en tabell?

Postades av 2003-06-28 18:32:29 - Terje Isaksen

Du kan joina hur många tabeller du vill - så länge databasen orkar med.
Om du tycker det blir invecklad syntax, så kan du göra vyer och lägga till en ny tabell för varje vy.

Jag har visserligen bara använt en äldre Oracle, men hette inte det inte += eller =+ i Oracle det som heter LEFT OUTER JOIN i MS- SQL-Server?


Svara

Nyligen

  • 17:03 Getmancar your go-to carsharing
  • 14:07 Games
  • 17:54 Vegastars New Zealand
  • 16:56 Verde Casino Danmark
  • 13:54 Vegastars: Top Australian Online C
  • 21:28 Chicken Road Casino Game
  • 21:21 1xBet Promo Code 2025
  • 18:37 Remove the bumper in AUDI

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 988
27 965
271 785
239
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