您的查询只是一个错误的查询,因为您正在使用 select * 与 group by . 此查询使用mysql扩展。而且,mysql最新版本中的默认设置会产生错误。 下面是一种将其转换为sql server的方法:
SELECT TOP (1) WITH TIES *
FROM Table1 AS T1 INNER JOIN
Table2 AS T2
ON T1.Column1 = T2.ColumnX
WHERE T1.ColumnY = 'xxxx'
ORDER BY ROW_NUMBER() OVER (PARTITION BY T1.Column1 ORDER BY (SELECT NULL)) ;
可能更好的方法(从性能Angular )使用横向连接:
SELECT *
FROM Table1 T1 CROSS APPLY
(SELECT TOP (1) T2.*
FROM Table2 T2
WHERE T1.Column1 = T2.ColumnX
) T2
WHERE T1.ColumnY = 'xxxx' ;
1条答案
按热度按时间9fkzdhlc1#
您的查询只是一个错误的查询,因为您正在使用
select *
与group by
. 此查询使用mysql扩展。而且,mysql最新版本中的默认设置会产生错误。下面是一种将其转换为sql server的方法:
可能更好的方法(从性能Angular )使用横向连接:
这两种方法都可以从中选择任意行
Table2
当存在多个匹配项时。