2016-10-19 5 views
1

Ich möchte in die Tabelle community_players die community_id und player_id aus den entsprechenden Tabellen einfügen; 'Gemeinschaften' und 'Benutzer', wenn folgende Bedingungen erfüllt sind:Wie diese INSERT JOIN WHERE SQL-Anweisung erfolgreich abgeschlossen wird?

users.user_email UND communities.admin = '[email protected]' UND communities.code = 'HX99F9'

Diese so weit ist, was ich habe ....

INSERT INTO TABLE community_players (community_id, player_id) FROM TABLE communities JOIN TABLE users ON id WHERE users.user_email = '[email protected]' AND communities.admin = '[email protected]' AND communities.code = 'HX99f9'

Dies sind die drei Tabellen in Frage:

users id | user_email | user_password | user_name

communities id | name | code | admin

community_players community_id | player_id

+0

Können Sie die Struktur Ihrer Tabellen fügen Sie bitte? Wir können nur fragen, wie die Felder in Ihren Tabellen aufgerufen werden. –

Antwort

1

sollte wie folgt aussehen:

INSERT INTO community_players (community_id, player_id) 
SELECT communities.id, users.id 
FROM communities INNER JOIN users ON communities.admin = users.user_email 
WHERE users.user_email = '[email protected]' 
AND communities.code = 'HX99f9' 
+0

Das erzeugt den folgenden Fehler ;: # 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe von 'TABLE-Communities JOIN TABLE Benutzer ON communities.admin entspricht = users.user_email WHE' at line 3 – RDowns

+0

Zeile 3 ist: FROM TABLE-Communities – RDowns

+0

Das ist toll, dass hat es behoben :) – RDowns

1

Sollte so etwas wie:

INSERT INTO community_players (community_id, player_id) (SELECT communities.community_id, users.user_id FROM TABLE communities JOIN TABLE users ON id WHERE users.user_email = '[email protected]' AND communities.admin = '[email protected]' AND communities.code = 'HX99f9' ) `

Aber es ist schwer zu sagen, ohne die Datenbankschemata der Tabellen Gemeinden und Nutzer zu kennen. Was besonders merkwürdig klingt, ist der JOIN TABLE users ON id Teil ... das funktioniert nur, wenn die communities-Tabelle ein Feld hat, das die Benutzer-ID enthält (was in diesem Anwendungsfall möglicherweise ungewöhnlich ist).

+0

der gleiche Fehler wie die Antwort unten ... – RDowns

+0

Ok, können Sie bitte das Datenbankschema zeigen? Ohne sie ist es schwer zu helfen, weil niemand weiß, wie die Datenbankfelder heißen – Jan

Verwandte Themen