Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Mysql Select Befehl über 3 Tabellen?

Frage Entwicklung Datenbanken

Mitglied: rdklie

rdklie (Level 1) - Jetzt verbinden

17.12.2014, aktualisiert 13:25 Uhr, 792 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
Datenbanken
gelöst MySQL - Feld aus anderer Tabelle hinzusummieren? (5)

Frage von 1410640014 zum Thema Datenbanken ...

Visual Studio
Sortierung von DataTable nach Select aufgelöst (1)

Frage von ForgottenRealm zum Thema Visual Studio ...

Batch & Shell
gelöst Powershell: Select-String erzeugt nicht das gewünschte Ergebnis (7)

Frage von MuHMuH zum Thema Batch & Shell ...

Datenbanken
MySQL bearbeiten - Rechte auf User ändern (6)

Frage von istike2 zum Thema Datenbanken ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...