Jump to content

Komplizierter View


Direkt zur Lösung Gelöst von f4lcoN,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Ich stehe ein bisschen auf der Leitung...ich hoffe es kann mir wer helfen.

 

Tabellen:

resultsTKG(id, bc, tkg, datetime)

resultsHL(id, bc, hl, datetime)

 

BC ist ein Barcode und besteht aus versuch (ein string mit fixer länge in dem informationen gespeichert sind: zB: das 4. und 5. Zeichen sind das Jahr (15)

 

Jetzt gibt es natürlich Proben die Ergbenisse für TKG+HL, TKG, HL oder wedernoch haben.

 

Ich will eine SICHT in der alle Ergebnisse (resultstkg.tkg, resultsHL.hl) angezeigt werden UND dazu auch die INformationen aus dem BC (mit: SUBSTRING(BC, 17, 20) zum Beispiel)

 

 

aber ohne Löcher bzw. doppelte Werte:

Also :

TKG, HL, Versuch, Nummer,

12, 34, 1, 1

12, , 1, 2

, 34, 1, 3

 

Vorschläge?

Link zu diesem Kommentar

Hallo!

Danke für deine Antwort.

 

Ich hab mir schon gedacht, dass das Problem nicht gut erklärt ist.

 

Die ID ist in beiden Tabellen entweder gleich, oder nur in einer Tabelle vorhanden:

SELECT        RT.TKG, RH.HL, RH.BC, RT.BC
FROM            dbo.ResultsTKG AS RT full OUTER JOIN
                         dbo.ResultsHL AS RH ON RT.BC = RH.BC ;

ergibt also:

TKG     HL        BC                      BC
14.15	4.15	SW0001EDEHO150063	SW0001EDEHO150063
10.11	3.35	SW0001EDEHO150062	SW0001EDEHO150062
18.11	3.34	SW0001EDEHO150061	SW0001EDEHO150061
12.11	NULL	NULL	SW0001EDEHO150064
NULL	2.91	SW0001EDEHO150065	NULL
NULL	2.91	SG0001EDEHO150065	NULL

ich hätte aber gerne:

TKG        HL          BC 
14.15    4.15    SW0001EDEHO150063    
10.11    3.35    SW0001EDEHO150062    
18.11    3.34    SW0001EDEHO150061    
12.11    NULL    SW0001EDEHO150064
NULL    2.91    SW0001EDEHO150065    
NULL    2.91    SG0001EDEHO150065    

Ich hoffe es ist jetzt besser verständlich.

 

bearbeitet von f4lcoN
Link zu diesem Kommentar

NIcht wirklich

Du hast 2 Tabellen "A" und "B" und möchtest herausfinden, welche Datensätze sich in A befinden, aber nicht in B.

ich möchte aber alles aus A und alle aus B anzeigen (FULL OUTER JOIN)

 

Problem ist: ich möchte nur ein Feld (BC) haben, dessen Inhalt er sich aus entweder RT.BC oder RH.BC holt, je nachdem wo es vorhanden ist.

 

sozusagen die 2 spalten kombinieren. (von dieser SICHT sollen dann gesammelte Ergebnisse per BC abfragbar sein.)

 

wie zb. mit UNION:

(select rt.bc
from dbo.ResultsTKG AS RT
union
select rh.bc
from dbo.ResultsHL AS RH)

ich schaffs nur nicht diese Abfragen zu kombinieren. Vielleicht gibts auch eine viel einfachere Lösung..bin nur gedanklich etwas festgefahren.

Link zu diesem Kommentar
  • Beste Lösung

Nichts. HABS GERADE GELÖST.

 

Problem war die Syntax.

ich hab den Ausruck (Select .... UNION Select ....) nicht als JOIN drangehängt habe, sondern als <select list> im SELECT Befehl............

 

Also, FALSCH:

SELECT        RT.TKG, RH.HL,
(select rt.bc from dbo.ResultsTKG AS RT
union
select rh.bc
from dbo.ResultsHL AS RH)

FROM            dbo.ResultsTKG AS RT full OUTER JOIN
                         dbo.ResultsHL AS RH ON RT.BC = RH.BC
                         ;

RICHTIG:

SELECT        RT.TKG, RH.HL, IBC.BC

FROM            dbo.ResultsTKG AS RT full OUTER JOIN
                         dbo.ResultsHL AS RH ON RT.BC = RH.BC
                         FULL OUTER JOIN
                         (select rt.bc
from dbo.ResultsTKG AS RT
union
select rh.bc
from dbo.ResultsHL AS RH) AS IBC ON IBC.bc = RT.BC OR ibc.bc =rh.bc  ;

Eh logisch. Aber wenn man den Wald vor lauter Bäumen nicht mehr sieht kommt man halt nich drauf......

bearbeitet von f4lcoN
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...