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, 9081 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 ..
Ähnliche Inhalte
Datenbanken
gelöst MYSQL Abfrage Werte summieren (3)

Frage von Ghost108 zum Thema Datenbanken ...

Datenbanken
gelöst MySQL Abfrage um JOIN erweitern (14)

Frage von datadexx zum Thema Datenbanken ...

Datenbanken
gelöst MySQL Abfrage für demographische Zwecke (3)

Frage von morphil zum Thema Datenbanken ...

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

Frage von tomolpi zum Thema PHP ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (59)

Frage von pjrtvly zum Thema Internet ...

DSL, VDSL
VDSL Signal via PowerLine an Fritzbox - Möglich? (19)

Frage von Seichobob zum Thema DSL, VDSL ...

Windows Server
Benutzer sperrt sich immer wieder im Active Directory Contoller (17)

Frage von Kirdy1301 zum Thema Windows Server ...