0

SQL Compactのクエリを作成しようとしています

基本的にはこれらのクエリですが、それらを 1 つにまとめることができればと思っていました。

1.

SELECT schoolId,opponent 
FROM TEAM_SCHEDULE
WHERE seasonId = " & i & "
AND gameid = " & currentGame & "
ORDER BY id"

These are variables, trying to eliminate them at some point
currentMatch(0) = schoolId
currentMatch(1) = opponent

2.

SELECT id
FROM player
WHERE school = " & currentMatch(0) & "
AND starter = 'TRUE'
AND game_id = " & currentGame & "
ORDER BY weight

3.

SELECT id
FROM player
WHERE school = " & currentMatch(1) & "
AND starter = 'TRUE'
AND game_id = " & currentGame & "
ORDER BY weight

このようなことができると思っていたのですが、クエリに 2 つの学校を追加する方法を見つけようとして問題が発生しました。

        cmd.CommandText = "SELECT b.id, player.id" &
                            " FROM player b" &
                            " WHERE player.school = " & currentMatch(0) &
                            " OR player.school = " & currentMatch(1) &
                            " INNER JOIN player" &
                            " ON b.weight = player.weight" &
                            " ORDER BY player.weight"

うまくいけば混乱を解消するために、私はしようとしています:

  1. team_schedule、schoolId、相手から2校(int)を選択。
  2. これらの両方の学校からすべての重量ですべてのスターター ('True') を選択します。
  3. 重量に応じて、各学校のスターターをペアにします。
  4. 各ペアを選択してデータを操作できる。

どんな助けにも感謝します!

これは、クエリ Nikola の解析エラーです。 エラー

4

1 に答える 1

1

これはあなたの質問かもしれません。同じテーブルを複数回記述できますが、それぞれに異なるエイリアスを提供する必要があります。この場合、プレイヤーは p1 と p2 として 2 回リストされます。プレイヤーの重みの一致も join 部分で行われますが、where 句で行われる場合があります。

SELECT 
  schoolId,
  opponent, 
  p1.id Player1, 
  p1.Weight Player1Weight, 
  p2.id Player2, 
  p2.Weight Player2Weight
FROM TEAM_SCHEDULE
inner join player p1
   on TEAM_SCHEDULE.schoolId = p1.school
 and TEAM_SCHEDULE.GameID = p1.Game_id
 AND p1.starter = 'TRUE'
inner join player p2
   on TEAM_SCHEDULE.opponent = p2.school
  and TEAM_SCHEDULE.GameID = p2.Game_id
  AND p2.starter = 'TRUE'
-- tricky part - do weights match perfectly 
-- or do you need additional weight range table?
  AND p1.weight = p2.weight
WHERE TEAM_SCHEDULE.seasonId = " & i & "
AND TEAM_SCHEDULE.gameid = " & currentGame & "
ORDER BY id
于 2012-04-06T00:32:14.787 に答える