ugrás a tartalomhoz

2 táblából egyszerre lekérdezés

Anonymous · 2006. Már. 19. (V), 14.21
Hogy tudom azt megoldani, hogy egy tábla mezői alapján egy másikból kérdezek le adatokat?

Konkrétan az lenne, hogy van egy 'csapatok' tábla két mezővel: játékos1, játékos2. És van egy 'játékos' tábla aminek van egy 'pontok' mezője.

+-----+----------+----------+
+ NÉV + JÁTÉKOS1 + JÁTÉKOS2 +
+-----+----------+----------+
+  A  +    1     +     2    +
+-----+----------+----------+
+  B  +    3     +     4    +
+-----+----------+----------+

+-----+------+
+ NÉV + PONT +
+-----+------+
+ P1  +   5  +
+-----+------+
+ P2  +   8  +
+-----+------+
Az kellene nekem, hogy amikor lekérdezem a csapatokat, a csapatok táblában is legyen egy pont mező, ami a 'játékos1' és 'játékos2' mező összegéből keletkezne.

Ezt találtam, amivel meg lehetne oldani szerintem, de nem működik. Pedig már elég sok féle képpen próbáltam:
SELECT * FROM teams
INNER JOIN players ON teams.player1 = players.id
INNER JOIN players ON teams.player2 = players.id
 
1

tábla és mező nevek?

Anonymous · 2006. Már. 19. (V), 14.36
nem derült ki számomra világosan, hogy mik a tábla és mező nevek, úgyhogy ez elsőre biztos nem fog menni, de a szerkezet hasonló lesz:

select
  csapatnev, (p1.pont+p2.pont) as pontok
from
  teams
  left join players as p1 on player1=p1.id
  left join players as p2 on player2=p2.id
gex
2

Próbálkoztam...

Anonymous · 2006. Már. 19. (V), 14.51
Hát próbáltam ezt használni, nem nagyon ment :(

Azért leírom a táblaneveket:
csapatok => teams
versenyzők => players
pontok mező => points
versenyző id => id
csapatnév mező => name
csapatnév id => id

más asszem most nem kell.
3

kipróbáltam

Anonymous · 2006. Már. 19. (V), 17.15
táblák:
teams
 - team_id
 - name
 - player1
 - player2
players
 - player_id
 - point

sql:

select
  team_id, name, (p1.point+p2.point) as points
from
  teams
  left join players as p1 on player1=p1.player_id
  left join players as p2 on player2=p2.player_id
ugyanaz, mint amit elsőre is írtam és tökéletesen működik... /cserélgesd át a mezőneveket a tieidre. azt, hogy a teams táblában mi a játékosok oszlopneve, még most sem tudom./
ha mindkét tábládban id az azonosító, akkor a team_id helyett írj teams.id-t, mert úgy nem tudja eldönteni az sql, hogy melyik id-t kéred. ha még így sem megy, akkor legalább egy hibakódot írhatnál, abból könnyebb rájönni, hogy mi a hiba.

gex
4

Működik

Anonymous · 2006. Már. 19. (V), 18.46
Köszi, tökéletesen működik.