Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql更新与子查询2级深度_Mysql_Sql Update_Subquery - Fatal编程技术网

mysql更新与子查询2级深度

mysql更新与子查询2级深度,mysql,sql-update,subquery,Mysql,Sql Update,Subquery,谢谢你看这个问题。我有点迷路了,希望有人能帮助我。下面是我想运行的更新查询 此查询现在返回一个错误: 1054-where子句中的未知列“spi.et_cross_rank” 一些背景: 从表:tmp\u排名\u tbl 我想获得第n个(spi.et\u return\u rank)记录 对于值为x的组(spi.et\u交叉等级) tmp\u排名\u tbl中的数据如下所示: team_poule_id | punten | goals_voor | goals_tegen | overal_r

谢谢你看这个问题。我有点迷路了,希望有人能帮助我。下面是我想运行的更新查询
此查询现在返回一个错误:

1054-where子句中的未知列“spi.et_cross_rank”
一些背景:
从表:tmp\u排名\u tbl
我想获得第n个(spi.et\u return\u rank)记录
对于值为x的组(spi.et\u交叉等级)

tmp\u排名\u tbl中的数据如下所示:

team_poule_id | punten | goals_voor | goals_tegen | overal_rank
65            | 6      | 10         | 10          | 2 
69            | 6      | 9          | 10          | 2
75            | 7      | 11         | 4           | 2
84            | 6      | 6          | 8           | 2
112           | 5      | 7          | 7           | 2
提前感谢您的帮助

在关于目标的评论中提出问题后进行更新,我会尽量简短。:-)
此查询在网站上用于保存锦标赛的分数。有时你会有奇数的球队进入下一轮。在这一点上,我想选择最好的3号(spi.et_cross_rank)球队穿过波尔斯。这是保存在stroter_Poule_中的设置,每个Poule和第一、第二或第n个团队的排名(spi.et_return_排名)。tmp_ranking_tbl表中填写了波尔地区所有排名3的球队。如果填写了,我希望返回第一个或第二个记录,具体取决于stroter_Poule_indeling中的设置

stroter\u Poule\u indeling表的结构子集

row_id | team_id | et_ronde | et_cross_rank | et_return_rank
1      | null    | 1        | 3             | 1

只需检查您的表中是否有一个名为et\u cross\u rank的列stroter\u Poule\u indeling

问题似乎是SQL在表中找不到该列


希望能有所帮助。

也许加入而不是子查询更新。谢谢,你知道一个例子吗。还没有找到一种通过连接来实现此目的的方法。(可能是我看得太久了)。
(添加)我不知道如何使用连接的原因是rownum功能。记录集和限制的第n条记录的语句中不允许变量是的,就是这样。我发现dat子查询只能使用其直接父级的值,而不能使用“树”中任何更高的值。这意味着这个查询将不起作用。但是我还没有找到解决这个问题的方法。你的更新查询的目标是什么?让我看看其余的桌子,这样我可以更好地帮助你。但是,如果这是一个范围问题,您可以尝试在您的内部选择中添加表“stroter\u Poule\u indeling”,如下所示:从tmp\u ranking\u tbl trt,stroter\u Poule\u indeling spi,其中trt.overal\u rank=spi.et\u cross\u ranku更新了更多细节。对于您的查询,tmp_排名与Stroter_poule_indeling之间没有关系,因此不知道如何加入
row_id | team_id | et_ronde | et_cross_rank | et_return_rank
1      | null    | 1        | 3             | 1