我是否必须创建一个存储过程来调用才能使其正常工作?我不是Visual Studio中的适配器的朋友(如果您编辑它们,GUI会立即被破坏:))。
但是,我使用外部应用(类似于左连接)使用此查询(SQL Management Studio 2008 R2)。我的VS适配器不接受这种抛出"不支持OUTER APPLY SQL构造或语句"。因此,我需要帮助在" Normal"中编写下面的代码。 t-sql:)
SELECT DISTINCT t1.col1,t2.col2,t3.col2,t3.col4
FROM t1
OUTER APPLY
(
SELECT TOP 1 col1,col2,col3,col4
FROM t2
WHERE col3 = value
AND t2.col1 = t1.col1
ORDER BY col4 ASC
) AS t3
答案 0 :(得分:1)
OUTER APPLY
相当于LEFT JOIN
,以下代码是否符合您的需求?
SELECT DISTINCT t1.col1,t3.col2,t3.col4
FROM t1
LEFT JOIN
(
SELECT TOP 1 col1,col2,col4
FROM t2
WHERE col3 = value
ORDER BY col3 ASC
) t3
ON t3.col1 = t1.col1