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 Abfrage für Verknüpfungstabelle

Frage Entwicklung Datenbanken

Mitglied: 61200

61200 (Level 1)

09.02.2008, aktualisiert 18:02 Uhr, 8733 Aufrufe, 4 Kommentare

Hallo ;), ich finde eure Page oft via Google und hab schon so einige Infos daraus gewonnen, nun bin ich aber auf ein Problem gestoßen.

Ich habe mehrere Tabellen in meiner DB "userdb" eine user, eine sprachen, und eine zu_sprachen Table.


In der user gibt es u.a. eine user_id (PK AI)
In der Sprachen Tabelle gibt es Sprach_id(PK AI) und sprache
In der zu_sprachen Tabelle werden user_id und Sprach_id verknüpft.


Ich hätte nun gerne eine Ausgabe von User_id und dessen gewählten sprachen


nochmal kurz

user(user_id, uva)
sprachen(sprach_id, sprache)
zu_sprachen(sprach_id, user_id)

Ich hab mit inner join und mehreren Selects probiert komme aber einfach nicht zum Ziel, auch habe ich versucht nach mehreren Ansätzen eurere Page zu handeln leider ohne Erfolg.
Ich danke ;).
Mitglied: utopia
09.02.2008 um 08:44 Uhr
SELECT user_id, sz.sprache
FROM zu_sprache AS sz
INNER JOIN sprachen AS s
ON sz.sprach_id = s.sprach_id;

bzw

SELECT user_id, sz.sprache
FROM user AS u
INNER JOIN (zu_sprache AS sz
INNER JOIN sprachen AS s
ON sz.sprach_id = s.sprach_id)
ON u.user_id = sz.user_id;

Bei der Klammersetzung unbedingt mal googlen, die vergess ich immer ;)
Bitte warten ..
Mitglied: 61200
09.02.2008 um 08:52 Uhr
danke schonmal für die frühe hilfe ;)

er meckert wegen dem sz.....

irgendwas passt noch nicht

user
user_id

sprachen
sprach_id sprache

zu_sprachen
sprach_id user_id

so sehen meine tables aus
wofür ist "sz"?
Bitte warten ..
Mitglied: misterdemeanor
09.02.2008 um 13:09 Uhr
Mahlzeit,

er meckert wegen dem sz.....

irgendwas passt noch nicht

wofür ist "sz"?

sz soll hier ein Tabellenverweis/Alias darstellen (-->AS)

Allerdings meine ich das es nicht zulässig ist dieses in einem JOIN zu verwenden.

bin mit dem MySQL-Dialekt auch nicht ganz vertraut...aber ungefähr so sollte es aussehen:

01.
SELECT user.user_id, sprachen.sprache 
02.
FROM [user]  
03.
INNER JOIN (sprachen INNER JOIN zu_sprachen ON sprachen.sprach_id = zu_sprachen.sprach_id) ON user.user_id = zu_sprachen.user_id 
04.
WHERE (((user.user_id)=1));
WHERE-Klausel ist jetzt nur beispielhaft mit drin.

BG; Felix -misterdemeanor<
Bitte warten ..
Mitglied: 61200
09.02.2008 um 18:02 Uhr
Danke ihr seit mal echt eine große Hilfe ;).

So hat es letztlich geklappt

"SELECT user.user_id, sprachen.sprache
FROM user
INNER JOIN (sprachen INNER JOIN zu_sprachen ON sprachen.sprach_id = zu_sprachen.sprach_id) ON user.user_id = zu_sprachen.user_id where user.user_id="X";"

Wofür bei dir die vielen Klammern sind hab ich nicht ganz verstanden, jedenfalls klappte es nachdem ich diese entfernt habe.

ausgabe ist dann

user_id deutsch
user_id spanisch
user_id englisch

*freut*
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

Datenbanken
gelöst MYSQL Abfrage (20)

Frage von datadexx zum Thema Datenbanken ...

Datenbanken
gelöst Row Number bei einer Abfrage sinnvoll einsetzen (1)

Frage von Aximand zum Thema Datenbanken ...

Batch & Shell
gelöst Batch Abfrage Vergleiche mit Variable goto (4)

Frage von Zunaras zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...