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, 1435 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
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 ...

Datenbanken
Inner join über 3 Tabellen
Frage von Fitzel69Datenbanken10 Kommentare

Hallo zusammen, ich habe folgendes Problem: Ich muß aus unserem ERP System mehrere Infos heraus ziehen. Hierfür benötige ich ...

Datenbanken

SQL - Mehrere Tabellen über JOINS verketten

Frage von GwahlersDatenbanken1 Kommentar

Aktuell habe ich das Problem dass die Ausgabe von meinen Erwartungen abweicht JOINS und Tabellen im Anhang Folgende Abfrage ...

Microsoft Office

Werte in einer Tabelle zählen mit Excel

Frage von achkleinMicrosoft Office8 Kommentare

Hallo, ich führe eine Excel-Tabelle mit von mir ausgestellten Rechnungen. In jeder Zelle steht der Name, die Kundennummer und ...

Neue Wissensbeiträge
Sicherheit
Adminrechte dank Bug in Intel HD Graphics Treiber
Information von DerWoWusste vor 14 StundenSicherheit

Intel HD graphics 4200 und neuer (4400, 4600 520,530,620, 630,) sind auf jeden Fall betroffen und bereinigte Treiber sind ...

Router & Routing

Endlich: Reines Kabel-TV Modem in D erhältlich !

Information von aqui vor 3 TagenRouter & Routing11 Kommentare

Mit dem Technicolor TC4400-EU Modem sind nun auch Breitband Router ohne integriertes Modem oder Firewalls wie z.B. die pfSense ...

Netzwerkgrundlagen
The Illustrated TLS Connection
Information von Lochkartenstanzer vor 4 TagenNetzwerkgrundlagen1 Kommentar

Moin, Unter findet man eine gelungene Erläuterung von TLS. Fördert sehr das verständnis darüber, was da passiert. lks

Windows 10

Zuverlässiger Remove-AppxProvisionedPackage Ausführen in W10-1803

Tipp von NetzwerkDude vor 5 TagenWindows 104 Kommentare

Moin, Remove-AppxProvisionedPackage hat in 1709 recht zuverlässig funktioniert, in 1803 ist es leider so das es gerne mail failed ...

Heiß diskutierte Inhalte
Windows Server
AD User wird immer wieder gesperrt
Frage von YellowcakeWindows Server20 Kommentare

Hey ich habe einen User (ein GL User - Natürlich was denn sonst) der immer wieder gesperrt wird. Ich ...

Windows Netzwerk
Gruppenrichtlinie für einen PC deaktivieren
gelöst Frage von Florian961988Windows Netzwerk14 Kommentare

Hallo, kleines Problem und immoment finde ich dazu keine Lösung oder mir fällt nicht ein, wie ich es suche ...

Debian
Linux debian 9 Installation
Frage von Green14Debian13 Kommentare

Hallo zusammen, ich habe mich ein wenig mit Debian auseinandergesetzt und möchte mir eine Standard-Installation als Grundlage für andere ...

Switche und Hubs
OpenSource oder Freeware zur Verwaltung von Switchen
gelöst Frage von JonskezSwitche und Hubs12 Kommentare

Hallo, gibt eine kostenlose Verwaltungssoftware für Switche (überwiegend HP/Aruba)? Es sollte möglich sein, aus der Ferne z.B. die Firmware ...