我很缺乏经验。我已经准备了一个select语句,它提供了填充匹配表所需的信息。但它不适合,因为它包含where子句。是否有不同的使用方式,或者我如何更改它以使其适合INSERT INTO。
表格如下: -
match_order_id || || match_descrip || first_player
second_player
1 1v2 1 2
2 1v3 1 3
3 2v3 2 3
4 1v4 1 4
5 2v4 2 4
6 3v4 3 4
entry_id || || round_id || league_id || box_id
box_position
1 1 1 1 1
2 1 1 1 2
3 1 1 1 3
4 1 2 1 4
5 1 2 1 2
6 1 2 1 1
7 1 2 1 1
match_id || || round_id || league_id || box_id || match_order_id || PLAYER1 player2
我需要每个月为新一轮比赛插入新行。联赛大小,盒子大小和职位每月都在变化。
这是给出正确行的语句。
SELECT e.round_id, e.league_id, e.box_id, mo.match_order_id, e.entry_id as player1, e1.entry_id as player2
FROM match_order mo
LEFT JOIN entries e ON mo.first_player = e.box_position
LEFT JOIN entries e1 ON mo.second_player = e1.box_position
WHERE e.round_id = e1.round_id AND e.league_id = e1.league_id AND e.box_id = e1.box_id
ORDER BY round_id, league_id, box_id, match_order_id
任何帮助&建议将不胜感激。 谢谢
答案 0 :(得分:0)
假设match_id
是自动增量列,则您拥有其他列的数据。您只需在INSERT
之前添加SELECT
语句。
INSERT INTO matches(round_id, leage_id, box_id, match_order_id, player1, player2)
SELECT e.round_id, e.league_id, e.box_id, mo.match_order_id, e.entry_id as player1, e1.entry_id as player2
FROM match_order mo
LEFT JOIN entries e ON mo.first_player = e.box_position
LEFT JOIN entries e1 ON mo.second_player = e1.box_position
WHERE e.round_id = e1.round_id AND e.league_id = e1.league_id AND e.box_id = e1.box_id