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, 1439 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
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 1 TagHumor (lol)2 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 2 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 5 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 5 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
SSD zeigt falsche Werte
Frage von karl2014Festplatten, SSD, Raid25 Kommentare

Ich habe ein Problem mit der SSD in meinem Laptop mit Windows 10. Es ist eine 1Tb Platte die ...

Windows 10
Windows Enterprise 1809 Eval nicht bootbar
Frage von Sunny89Windows 1022 Kommentare

Hallo zusammen, bevor ich mich jetzt noch stundenlang rumärger wollte ich euch fragen, ob Ihr die gleichen Probleme habt ...

Ubuntu
Installation freerdp 2.0.0-rc4
Frage von kristovUbuntu20 Kommentare

Hallo, möchte freerdp 2.0.0-rc4 auf linux mint 18.3 installieren, habe aber keine Ahnung, wie das funktioniert. freerdp 1.1 ist ...

Router & Routing
VPN u. WLAN Router für Reisen
Frage von stephan902Router & Routing17 Kommentare

Hallo, ich bin auf der Suche nach einem VPN/WLAN-Router für unterwegs. Und zwar möchte ich auf Reisen einfach den ...