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
GELÖST

Mysql Select Befehl über 3 Tabellen?

Frage Entwicklung Datenbanken

Mitglied: rdklie

rdklie (Level 1) - Jetzt verbinden

17.12.2014, aktualisiert 13:25 Uhr, 782 Aufrufe, 6 Kommentare

Guten Tag zusammen!

Ich habe eine kleine Frage bezüglich Mysql.

Zur Fragestellung: Die Frage wäre "Welche Mitglieder organisieren Veranstaltungen in einem bestimmten Ort?"

Ich habe hierzu 3 Tabellen:

Mitglieder_table
| MNr | Name | Vorname |

Organisiert_table
| MNr | VNr |

Veranstaltung_table
| VNr | Ort |

*MNr = Mitglied ID, VNr = Veranstaltungs ID


Bisher habe ich diese Aufgabe mittels diesem Befehl gelöst:
SELECT Name, Vorname FROM Mitglied
WHERE MNr IN (SELECT MNr FROM organisiert WHERE VNr = '1' OR VNr = '3');

Ich habe aber das Gefühl, dass bei wachsenden Veranstaltungen dieser Befehl nicht zu brauchen ist. Da muss es doch ne Möglichkeit geben mit mehr Logik, in der man den Ort gezielt abholen kann?

Hoffe mir kann einer helfen.

Beste Grüsse
Rdklie
Mitglied: killtec
17.12.2014 um 10:07 Uhr
Hi,
such mal nach Join.
Damit kannst du Tabellen "verbinden". Es gibt Left, Inner und Right. Je nachdem was du von wo nach wo joinen willst brauchst du die unterschiedlichen.

Gruß
Bitte warten ..
Mitglied: rdklie
17.12.2014 um 10:47 Uhr
Danke für den Tipp, komme jedoch nicht recht mit.
Die Abfrage ist ja. Welches Mitglied mit MNr organisiert Veranstaltungen mit VNr mit dem Ort XXX in Veranstaltungen.

Wie wäre dann der Aufbau vom Statement? braucht es 2 Joins? oder kann ich mit dem oben angeführtem Befehl weiterarbeiten?

Beste Grüsse
Bitte warten ..
Mitglied: killtec
17.12.2014 um 12:13 Uhr
Hi, du brauchst dann zwei Koins,
aus dem Kopf weiß ich leider nicht genau, wie das SQL Statement dann aussehen müsste.


Gruß
Bitte warten ..
Mitglied: Gersen
LÖSUNG 17.12.2014, aktualisiert um 13:25 Uhr
Hallo,

Du brauchst doch bloß die Tabellen im SQL-Statement zu verknüpfen:
select t1.mnr, t1.vorname, t1.name, t2.vnr, t3.ort from mitglieder t1, organisiert t2, veranstaltung t3 where t1.mnr = t2.mnr and t2.vnr = t3.vnr
Für eine bestimmte MNr einfach die where-Bedingung ergänzen:
and t1.mnr = ...
Gruß,
Gersen
Bitte warten ..
Mitglied: ITvortex
LÖSUNG 17.12.2014, aktualisiert um 13:25 Uhr
Zitat von Gersen:

Hallo,

Du brauchst doch bloß die Tabellen im SQL-Statement zu verknüpfen:
select t1.mnr, t1.vorname, t1.name, t2.vnr, t3.ort from mitglieder t1, organisiert t2, 
> veranstaltung t3 where t1.mnr = t2.mnr and t2.vnr = t3.vnr
Für eine bestimmte MNr einfach die where-Bedingung ergänzen:
and t1.mnr = ...
Gruß,
Gersen

Ja aber dann:
From tabelle1 t1, tabelle2 t2, tabelle3 t3 
usw...

Liebe Grüße
ITvortex
Bitte warten ..
Mitglied: rdklie
17.12.2014 um 13:24 Uhr
Hallo Gersen

select t1.Name, t1.Vorname From Mitglied t1, organisiert t2, Veranstaltung t3 Where t1.MNr = t2.MNr and t2.Vnr = t3.vnr and t3.Ort = 'XYZ'

Klappt wunderbar, danke!

Gruss
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

DSL, VDSL
gelöst Ständige Störungen - Internet (12)

Frage von gamerff zum Thema DSL, VDSL ...