Hallo Kai,
so ganz verstehe ich die Zusammenhänge zwischen diesen beiden Tabellen noch nicht. So sehe ich den Aufbau Deiner Tabellen:
In der Tabelle user_einheiten sind die Einheiten aller User aufgeführt.
Tabelle: user_einheiten
> ue_id /* Primärschlüssel, identifiziert Datensatz */
> user_id /* User, dem die Einheiten gehören */
> e_id /* Art der Einheiten */
> hitpoints /* Zustand der Einheiten */
> menge /* Anzahl der Einheiten */
> armee_id /* Zuordnung zu einer Armee */
> name /* unbekannt */
> x /* Ort der Einheiten */
Tabelle: user_armeen
[code lang = sql]
armee_id /* Primärschlüssel, identifiziert Armee */
name /* Name der Armee */
user_id /* User, dem die Armee gehört */
schlacht_id /* Schlacht, an der die Armee teilnimmt? */
x /* Position, an der sich die Armee befindet */
bild /* Bild der Armee */
[/code]
Hab' ich das so richtig verstanden? Wenn ja, dann pflegst Du etliche Daten doppelt.
Wenn Einheiten einer Armee zugordnet sind, dann haben sie die Position der Armee. Es könnte natürlich auch sein, dass 'user_einheiten.x' die aktuelle Position der Einheiten angibt, die sich in Richtung 'user_armeen.x' bewegen. Was davon der Fall ist, weiß nur Deine Spiellogik.
Weiter gehe ich davon aus, dass eine Armee eines Benutzers nur aus Einheiten dieses Benutzers besteht. Wenn dies der Fall ist, reicht die Zuordnung der Einheiten zu einer Armee, um die Einheiten eindeutig einem Benutzer zuzuordnen. Wenn es sein kann, dass Einheiten noch keiner Armee zugeordnet sind, dann ist die Zuordnung von Einheiten zu einem Benutzer sinnvoll :-)
und ich möchte nun das alle einheiten aus user_einheiten die zu
einer amee in user_armeen gehören armee_id<->armee_id
den selben x wert bekommen wie ihre armee .
alle id und x felder sind INT(11)..
Können Einheiten ohne Zuordnung zu einer Armee vorkommen?
Sollen Einheiten immer den gleichen x-Wert haben, wie die Armee, der sie zugeordnet sind?
Wenn Du die erste dieser Fragen mit "Nein" und die zweite mit "Ja" beantwortest, dann lasse einfach die Spalte x in der Tabelle 'user_einheiten' weg. Die Position der Einheiten ist ja die gleiche wie die der Armee, der sie zugeordnet sind; und die bekommst Du über einen einfachen JOIN heraus.
Freundliche Grüße
Vinzenz