Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Verknüpfung unterschiedlicher Tabellen

Frage Entwicklung Datenbanken

Mitglied: Benal09

Benal09 (Level 1) - Jetzt verbinden

27.02.2009, aktualisiert 12:13 Uhr, 3722 Aufrufe, 9 Kommentare

Hallo und guten Tag
Mein Problem sind 2 Tabellen, die nur teilweise gleiche Felder haben, aber denoch zusammen gehören.
Es existiert eine Spezifikation für das Produkt, aber es wurden zusätzliche Prüfungen gemacht, die nun auch auf die Ausgabe sollen.

Etwa so sieht mein Problem aus
T_Spez

Prüfpunkt: / Sollwert / Definition

Prod_Nr: / 12
Länge : / 1 m / 512
Breite : / 5 m / 513

T_Resultat

Prüfpunkt / Ergebnis / Definition

Prod_ Nr: / 12
Länge: / 1.2 m / 512
Breite: / 5 m / 513
Höhe: / 7 m
Farbe : / blau
Fertig: / Ja


Bei den probierten Abfragen erscheinen jeweils nur, (zu den andern Prüfpunkten in der Messung gibt es keine Angabe in der Spezifikation)

Prüfpunkt Ergebnis Sollwert Definition
Prod_Nr : / 12 / 12
Länge: / 1.2 / 1 m / 512
Breite: / 5 / 5 m / 513

Das Ergebnis soll aber so aussehen:

Prüfpunkt / Ergebnis / Sollwert /Definition
Prod_Nr : / 12 / 12
Länge: / 1.2 / 1 m / 512
Breite: / 5 / 5 m / 513
Höhe: / 7 / Keine Angabe /(leer)
Farbe : / blau / k.A /(leer)
Fertig: / Ja / (leer) / (leer)

Keine Angabe, k.A oder leer sind gleichwertige Varianten

Select *

From T_Spez s
T_Resultat t

Where s.Prod_Nr = :Prod_Nr
and s.Prod_Nr = t.Prod_Nr
and s.Definition = t.Definition
Mitglied: nxclass
27.02.2009 um 12:49 Uhr
01.
Select s.*, t.* 
02.
From 
03.
    T_Spez s LEFT JOIN T_Resultat t ON ( 
04.
        s.Prod_Nr = t.Prod_Nr AND ( 
05.
06.
                ( s.Definition IS NULL OR s.Definition IN ('leer', 'k.A.')) AND   
07.
                ( t.Definition IS NULL) OR t.Definition IN ('leer', 'k.A.')) 
08.
            ) OR 
09.
           s.Definition = t.Definition 
10.
    )
.. allerdings habe ich dein Tabellen Aufbau nicht so ganz verstanden. (was sind die Spalten Bezeichnungen und was der Inhalt)
Bitte warten ..
Mitglied: Benal09
27.02.2009 um 13:05 Uhr
Danke für die Antwort, so wie es oben steht bekomme ich diese Fehlermeldung
ORA-01730: invalid number of column names specified
Bleibt in where abschnitt nur die Angabe der Prod_Nr ?
Benal
Bitte warten ..
Mitglied: nxclass
27.02.2009 um 13:09 Uhr
.. möglich ! - kommt auf die Beziehung der Tabellen an - bei 1:1 geht das natürlich
Bitte warten ..
Mitglied: nxclass
27.02.2009 um 13:14 Uhr
(.. es gibt noch die Möglichkeit mit 'UNION' die Tabellen zu verbinden und danach zu 'GROUP'-ieren.
Damit hast du keine 'doppelten' Spalten mehr)

Mir scheint der Tabellen Aufbau auch nicht so günstig zu sein !?
Bitte warten ..
Mitglied: Benal09
27.02.2009 um 13:22 Uhr
Die Beziehung ist nicht 1:1, und auf den Tabellenaufbau konnte ich nicht einwirken, der ist so gegeben, weil schon andere Abfragen, aber leider nicht vergleichbar darauf laufen.
Union geht nicht, aber fürs groupieren werde ich mich mal in die vorhandenen Unterlagen vertiefen, da ist was zu Aggregatsfunktionen
Bitte warten ..
Mitglied: nxclass
27.02.2009 um 13:28 Uhr
evtl musst du die Spaltennamen von Hand anpassen bzw. auswählen
01.
SELECT 
02.
    s.*, 
03.
    t.'Höhe', /* mit ö ? */ 
04.
   ...
oder auch so:
01.
.. 
02.
   t.Höhe AS 'Höhe', 
03.
..
Bitte warten ..
Mitglied: Benal09
27.02.2009 um 13:54 Uhr
In meinen Tabellen sind so
Prod_Nr Resultat Definition
Länge 12 1.2 512
Breite 12 1 513
Höhe 12 5
Farbe 12 blau
Fertig 12 ja

Die Definition ist eigentlich die Prüfmethode, in der 2. Tabelle ist das Resultat der Sollwert.
nun als Überraschung habe ich erfahren, dass noch Werte aus 2 weiteren Tabellen, der Kunde und unser MA , der das Produkt gemacht hat, dazu sollen, Jetzt schaue ich mal was sonst noch kommt, aber mit der Join -Methode wird das nicht mehr gehen.
Bitte warten ..
Mitglied: nxclass
27.02.2009 um 14:47 Uhr
01.
... 
02.
FROM 
03.
  tabelle t 
04.
    LEFT JOIN tabelle2 t2 ON ( ... ) 
05.
    LEFT JOIN tabelle3 t3 ON ( ... ) 
06.
    ... , 
07.
 noch_eine_tabelle net 
08.
...
.. das kann man doch ewig fortsetzen.
(formatier mal bissel http://www.administrator.de/index.php?faq=20#toc25 )
Bitte warten ..
Mitglied: Benal09
02.03.2009 um 08:44 Uhr
Danke, dass das mehrmals hintereinander geht, habe ich nicht gewusst, aber jetzt wird es probiert.
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst Join über drei Tabellen (5)

Frage von Kimaro zum Thema Datenbanken ...

Datenbanken
gelöst SQL ORDER BY und Join mit 2 Tabellen (7)

Frage von Dipps zum Thema Datenbanken ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (18)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

Basic
Programmierung von Windows Programmen (9)

Frage von Ghost108 zum Thema Basic ...