gpt4 book ai didi

mysql - MYSQL中的交叉应用

转载 作者:行者123 更新时间:2023-11-29 17:10:11 25 4
gpt4 key购买 nike

我正在尝试将此 Sql 服务器脚本转换为 mysql。

SELECT A.*
FROM TableA A
CROSS APPLY
(
SELECT TOP 1 UID
FROM TableB
WHERE BetID = A.BetID
AND BETCODE = A.BETCODE
ORDER BY CASE WHEN InfoCode > '' THEN 0 ELSE 1 END,UID
)Z
WHERE Z.UID = A.UID

请告知如何操作,我知道我可以更改 CROSS JOIN 和 Limit 1 但仍然失败

最佳答案

您不能使用 TOP,但可以使用 limit,因此您可以尝试,在 MySql 中,子查询表的范围与 SQL_SERVER 不同,因此您必须在子查询内构建联接

  SELECT A.*
FROM TableA A
CROSS JOIN
( SELECT UID
FROM TableB
INNER JOIN TABLEA A ON BetID = A.BetID
AND BETCODE = A.BETCODE
ORDER BY CASE WHEN InfoCode > '' THEN 0 ELSE 1 END,UID
LIMIT 1
) Z
WHERE Z.UID = A.UID

或者具有单个结果的交叉联接也可以转换为内部联接

  SELECT A.*
FROM TableA A
INNER JOIN
( SELECT UID
FROM TableB
INNER JOIN TABLEA A ON BetID = A.BetID
AND BETCODE = A.BETCODE
ORDER BY CASE WHEN InfoCode > '' THEN 0 ELSE 1 END,UID
LIMIT 1
) Z ON Z.UID = A.UID

关于mysql - MYSQL中的交叉应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51914828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com