【发布时间】:2015-09-17 14:17:48
【问题描述】:
我目前正在使用 MySQL。对我来说重要的是不要在我的 C# 程序中编写任何无法转换为 SQL Server 的 SQL 语句。
是否有任何其他查询可以将 SELECT 语句的结果限制为 1 个结果?
我的目的是:
UPDATE table1
SET table1.column = (SELECT somecolumn FROM table2 WHERE somestuff LIMIT 1);
【问题讨论】:
-
您知道没有
ORDER BY的SELECT ... LIMIT 1会导致您的更新将获得随机数据吗?LIMIT/TOP不能解决您的问题,您需要重新考虑查询。在 SQL Server 中,您可以使用SELECT TOP 1 somecolumn FROM table2 WHERE ... -
是的,我是。在我的例子中,SELECT 语句可以返回 2 个或 3 个结果,但设置的值是哪一个并不重要。
-
所以使用
UPDATE table1 SET table1.column = (SELECT DISTINCT somecolumn FROM table2 WHERE somestuff);,如果某些列是相同的 -
@lad2025 。 . .更新不会获得随机数据。它从不确定的行中获取数据,这些数据可以在执行之间更改。
-
@GordonLinoff 我的意思是,这将是不确定的,根据计划我可以获得不同的结果,因此最终用户数据将是随机的
标签: c# mysql sql-server