| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: SQL Inner Join Problem im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo Habo. Es handelt sich um folgende Tabellen die ich mit Code: SELECT * FROM tbl_user INNER JOIN tbl_Gruppen ...
![]() |
| | #1 (permalink) |
| Registriert seit: 21.10.06 ![]() Likes: 0 | Anzeige Hallo Habo. Es handelt sich um folgende Tabellen die ich mit Code: SELECT * FROM tbl_user INNER JOIN tbl_Gruppen ON tbl_user.gruppe_zwischen_id = tbl_gruppe_zwischen.tbl_user_ID ----------------------- tbl_user id loginname nickname passwort gruppe_zwischen_id tbl_gruppe_zwischen id tbl_user_ID tbl_gruppen_ID tbl_gruppen id namen SQL spuckt diese Fehlermeldung aus : #1054 - Unknown column 'tbl_gruppe_zwischen.tbl_user_ID' in 'on clause' Ich möchte halt eine n:m Relation realisieren und alle Eigenschaften der tbl_user ausgeben. Dazu habe ich eine Zwischentabelle angelegt. Muss ich da noch irgendwelche Beziehungen wie in Access setzen oder funktioniert das so? Wenn ja, wie realisiere ich das mit PhpMyAdmin. Wenn nein, was ist an meinem Sql-Query falsch? LG, weau |
| | |
| | #2 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 2 | Du joinst ja nirgends die "tpl_gruppe_zwischen", deshalb kommt der Fehler. Code:
SELECT
u.*,
g.*
FROM
tbl_user u
JOIN
tbl_gruppen_zwischen gz
ON
u.id = gz.tbl_user_ID
JOIN
tbl_gruppen g
ON
g.id = gz.tbl_gruppen_ID Ach ja, ich würde die Tabelle "tbl_gruppe_zwischen" nochmal überdenken. Ich würde das ganze so machen: user_group_mappings user_id group_id Und die beiden Spalten als Primary Key.
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 21.10.06 ![]() Likes: 0 | THX Code: SELECT * FROM tbl_user INNER JOIN tbl_gruppe_zwischen ON tbl_user.id = tbl_gruppe_zwischen.tbl_user_ID JOIN tbl_Gruppen ON tbl_Gruppen.ID = tbl_gruppe_zwischen.tbl_gruppen_ID Aber warum sollte ich die Zwischentabelle überdenken? Erkläre mal wie du das mit dem Primary Keys meinst? Der Inner Join nimmt ja auch leider eine ziemliche Abarbeitungszeit in Anspruch. Gibt es da noch irgendwelche anderen Methoden eine n:m Relation zu lösen? |
| | |
| | #4 (permalink) | ||
| Registriert seit: 17.03.04 ![]() Likes: 2 | Zitat:
id - tbl_user_ID - tbl_gruppe_ID 1 - 1 - 2 2 - 1 - 2 3 - 1 - 2 Was ja wohl keinen Sinn macht, da ein User bestimmt nicht mehrmals in der gleichen Gruppe vorkommt. Wenn man sowas beim DB Design berücksichtigt, dann hat man es später bei der implementierung einfacher. Zitat:
Vermeide wo es geht alles zu ziehen, benutze z.B. eine WHERE - Klausel, und ein SELECT * benötigt auch sehr viel Zeit. Hier mal ein Link, ich bin heute Schreibfaul.
__________________ Mfg Basic Avid - Use it or be used! - | ||
| | |
| | #5 (permalink) | |
| Member of Honour ![]() Registriert seit: 02.10.01 ![]() Likes: 0 | Zitat:
| |
| | |
| | #6 (permalink) | |
| Themenstarter Registriert seit: 21.10.06 ![]() Likes: 0 | Zitat:
Mit phpmyadmin sieht es im moment so aus (siehe Anhang). Reicht das, weil du meintest ja user_id mit gruppen_id unique setzen? Geändert von weau (17.03.11 um 15:04 Uhr) | |
| | |
| | #7 (permalink) |
| Member of Honour ![]() Registriert seit: 02.10.01 ![]() Likes: 0 | Bei phpmyadmin unter Struktur "Index über [2] Spalten anlegen", die zwei Spalten auswählen und bei Indextyp "Unique" wählen. Das verhindert eben, dass bei gleichen Werten der user_id bzw. gruppen_id ein neuer Datensatz angelegt wird. Gegebenenfalls die MySQL-Docu lesen. |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [SQL] Update mit JOIN | Thunderb0lt | Code Kitchen | 12 | 09.02.10 13:02 |
| 2 Tabellen mit JOIN zu einer Tabelle verknüpfen | moveax1 | (Web-) Design und webbasierte Sprachen | 5 | 06.08.08 22:53 |
| Mysql Inner join problem | weau | (Web-) Design und webbasierte Sprachen | 4 | 17.03.07 12:05 |
| Join | CPU8080 | (Web-) Design und webbasierte Sprachen | 6 | 06.02.06 21:19 |
| !!Problem!! Brauch Mal Hilfe !! 16-bit-ms-dos teilsystem. !!Problem!! | nonpretium | Windows | 0 | 24.10.05 20:56 |