Top-Themen

Aktuelle Themen (A bis Z)

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

gelöst N zu M Tabelle so Joinen das alle Werte zu sehen sind

Mitglied: moK

moK (Level 1) - Jetzt verbinden

19.09.2013 um 00:11 Uhr, 1482 Aufrufe, 4 Kommentare, 1 Danke

Hallo, ich bin echt am verzweifeln ich habe 3 Tabellen und möchte diese so verbinden das ich alle möglichen Datensatzkombinationen angezeigt bekomme egal ob in der N:M Tabelle beziehungen eingetragen sind. Könnt ihr mir helfen?

tab1:
- id
- bezeichnung

tab2 (n:m):
- tab1_id
- tab3_id
- status

tab3:
- id
- bezeichnung


tab1 inhalte:
1 - tab1wert1
2 - tab1wert2
3 - tab1wert3

tab2 inhalte:
1 - 1 - good
2 - 1 - bad

tab3 inhalte:
1 - tab3wert1
2 - tab3wert2
3 - tab3wert3


Ergebniss der Abfrage sollte dann wie folgt sein:

tab1_bezeichnung, tab2_bezeichnung, tab3_status

tab1wert1- tab3wert1 - good
tab1wert1- tab3wert2 - NULL
tab1wert1- tab3wert3 - NULL
tab1wert2- tab3wert1 - bad
tab1wert2- tab3wert2 - NULL
tab1wert2- tab3wert3 - NULL
tab1wert3- tab3wert1 - NULL
tab1wert3- tab3wert2 - NULL
tab1wert3- tab3wert3 - NULL

Ich hoffe das ich es verständlich erklären konnte.

Gruß mok
Mitglied: bytecounter
19.09.2013 um 10:41 Uhr
Hallo,

hast Du Dir schon mal JOIN angeschaut? Aber solange Du uns nicht verrätst, mit welchem Datenbanksystem Du arbeitest, wird man Dir auch nicht gezielt helfen können.

vg
Bytecounter
Bitte warten ..
Mitglied: moK
19.09.2013 um 23:38 Uhr
Ups.. tut mir leid, MySQL 5.1.22

Da ich JOINen muss is mir klar, aber wie das ich auch NULL Werte angezeigt bekomme?

Ich habs nur so hinbekommen das ich alle bezüge angezeigt bekomme aus von denen zu denen schon einer besteht.


SELECT t1.id AS t1_id, t3.id AS t3_id, t2.id AS t3_id, t3.status
FROM tab1 t1
LEFT JOIN tab2 t2 ON t1.id = t2.tab1_id OR t2.tab1_id IS NULL
RIGHT JOIN tab3 t3 ON t2.tab3_id = t3.id OR t2.tab3_id IS NULL;

In diesem beispiel ist das Ergebniss:

tab1wert1- tab3wert1 - good
tab1wert1- tab3wert2 - NULL
tab1wert1- tab3wert3 - NULL
tab1wert2- tab3wert1 - bad
tab1wert2- tab3wert2 - NULL
tab1wert2- tab3wert3 - NULL
-----> tab1wert3- tab3wert1 - NULL <-- dieser eintrag ist nicht da drinne aber ich will ihn haben.
tab1wert3- tab3wert2 - NULL
tab1wert3- tab3wert3 - NULL

Mein Kopf platzt schon, mir fällt auch nix mehr dazu ein wonach man googlen könnte. Kann doch nicht sein das nur ich so ne Verknüpfung machen möchte.
Bitte warten ..
Mitglied: Biber
20.09.2013, aktualisiert um 00:52 Uhr
Moin moK,

das Statement sollte sinngemäß so aussehen:
01.
SELECT t1xt3.tab1bez ,  t1xt3.tab3bez , tab2.Status
02.
FROM (
03.
     Select tab1.id as tab1_id, tab1.bezeichnung as tab1bez,
04.
                tab3.id as tab3_id, tab3.bezeichnung as tab3bez
05.
 from tab1, tab3) t1xt3
06.
      left join tab2 ON t1xt3.tab1_id = tab2.tab1_id and  t1xt3.tab3_id = tab2.tab3_id
07.
order by t1xt3.tab1_id,  t1xt3.tab3_id ;
Ausgabe:
tab1bez       tab3bez        Status
tab1wert1	tab3wert1	good
tab1wert1	tab3wert2	
tab1wert1	tab3wert3	
tab1wert2	tab3wert1	bad
tab1wert2	tab3wert2	
tab1wert2	tab3wert3	
tab1wert3	tab3wert1	
tab1wert3	tab3wert2	
tab1wert3	tab3wert3	
Grüße
Biber
Bitte warten ..
Mitglied: moK
20.09.2013 um 01:00 Uhr
DAAANKE, sehr genial... im grunde genommen is es klar... man denkt manchmal einfach zu kompliziert
Bitte warten ..
Ähnliche Inhalte
Datenbanken
MySQL - Join
Frage von ThoomaasDatenbanken4 Kommentare

Hallo alle zusammen! Ich habe zwei Tabellen in meiner Datenbank. Die eine beinhaltet Teams und einen Code zum Team ...

Batch & Shell
PowerShell Domain Join
gelöst Frage von Patrick-ITBatch & Shell2 Kommentare

Hallo zusammen, kann mir einer sagen wo der Fehler in meinem Code ist? Wenn ich ihn öffne passiert nichts. ...

Datenbanken
Join über drei Tabellen
gelöst Frage von KimaroDatenbanken5 Kommentare

Hallo Admins, ich versuche gerade eine SQL Abfrage für meine Website zu basteln, aber irgendwie klappt das nicht so ...

Windows 10
Windows 10 Domain Join
Frage von BigFoley2010Windows 106 Kommentare

Hallo, Wir haben in der Firma einen Laptop von Medion mit Windows 8.1 Pro geupgraded auf Windows 10 mit ...

Neue Wissensbeiträge
Windows 10

"Windows 10 Pro V1903: Gruppenrichtlinie "Telemetrie zulassen" aktivierbar?"

Tipp von Snowbird vor 4 StundenWindows 101 Kommentar

Sicherheits-Tools

TrendMicro Worry-Free Business Security 10.0 SP1 - Jetzt in Deutsch verfügbar! (Windows 10 1903 Support)

Tipp von TrinXx vor 1 TagSicherheits-Tools1 Kommentar

Moin! Nach wochenlangem Warten wird Trend Micro das SP1 für WFBS 10 voraussichtlich am 26.08.19 veröffentlichen. Ich habe das ...

Hyper-V
Setup VM W2016 startet nicht in Hyper-V 2016
Erfahrungsbericht von keine-ahnung vor 2 TagenHyper-V7 Kommentare

Moin, sitze gerade über meinem neuen Server und versuche, die VM auf den Host zu prügeln. Jetzt wollte ich ...

Server-Hardware

HPE Proliant ML350P Gen8 Probleme mit Zugriff auf Raid-Volumes

Erfahrungsbericht von goscho vor 3 TagenServer-Hardware1 Kommentar

Hallo Leute, das Problemgerät: HPE ML350P G8 Windows Server 2012R2 HyperV-Host 8 x 300 GB 10K SAS HDD (1 ...

Heiß diskutierte Inhalte
Server
Ein Server ins Haus stellen. Was brauche ich dafür?
Frage von JoschiTomServer13 Kommentare

Hallo Community, ich spiele mit dem Gedanken eine Server mir zu holen. Was brauche ich dafür? Und wie sind ...

Windows Server
Ist es möglich, eine deutsche W2016 Installation mit einer UK-Lizenz zu aktivieren?
gelöst Frage von keine-ahnungWindows Server10 Kommentare

Moin at all, ist ja noch Freitag. Ich habe hier noch zwei UK OEM W2016 Standard Pakete rumfliegen Muss ...

Batch & Shell
Mittels SED Text ersetzen in Anführungszeichen
gelöst Frage von nekronBatch & Shell9 Kommentare

Moin … bin nicht wirklich der SED/regex Mensch, vielleicht kann mir jemand auf die Schnelle Helfen :) ich habe ...

LAN, WAN, Wireless
Mikrotik Gast-Wlan keine Verbindung zum Internet?
Frage von dirkschwarzLAN, WAN, Wireless8 Kommentare

Guten Morgen, habe ein wahrscheinlich einfaches Problem, bei dem ich aber nicht wirklich weiter komme Ich möchte ein Gast-Wlan ...