gpt4 book ai didi

sql - 显示存储过程

转载 作者:行者123 更新时间:2023-12-04 21:52:39 25 4
gpt4 key购买 nike

我的存储过程有问题,运行时出现此错误:

ADO EROR: Incorrect syntax near the keyword " where "

我想显示 2 个按 2012 年选定的公司所在的文件统计的文件

这是我的查询:

    ALTER PROCEDURE ProceduraCalculareAuto
AS
SELECT ФИРМА.НаимПредпр
FROM dbo.ФИРМА LEFT OUTER JOIN
dbo.АВТОМОБ ON dbo.АВТОМОБ.КодПредпр = dbo.ФИРМА.КодПредпр INNER JOIN
dbo.КАРНЕТ ON dbo.КАРНЕТ.КодПредпр = dbo.ФИРМА.КодПредпр
INNER JOIN
(SELECT Tegaci = COUNT
(CASE [КодПриц/Тягач]
WHEN 4 THEN [КодПриц/Тягач]
END),
Auto = COUNT
(CASE [КодПриц/Тягач]
WHEN 3 THEN [КодПриц/Тягач]
END)
FROM dbo.АВТОМОБ
GROUP BY dbo.АВТОМОБ.[КодПриц/Тягач] )
WHERE(dbo.КАРНЕТ.ДтВыдачи BETWEEN CONVERT(DATETIME, '2012-01-01 00:00:00',
102) AND CONVERT(DATETIME, '2012-12-31 00:00:00', 102))
GROUP BY ФИРМА.НаимПредпр

RETURN

最佳答案

您缺少子查询的别名。在 SQL Server 中,每个派生表和子查询都需要一个别名。您还缺少将子查询连接到其余查询的 ON 子句:

SELECT ФИРМА.НаимПредпр
FROM dbo.ФИРМА
LEFT OUTER JOIN dbo.АВТОМОБ
ON dbo.АВТОМОБ.КодПредпр = dbo.ФИРМА.КодПредпр
INNER JOIN dbo.КАРНЕТ
ON dbo.КАРНЕТ.КодПредпр = dbo.ФИРМА.КодПредпр
INNER JOIN
(
SELECT Tegaci = COUNT
(CASE [КодПриц/Тягач]
WHEN 4 THEN [КодПриц/Тягач]
END),
Auto = COUNT
(CASE [КодПриц/Тягач]
WHEN 3 THEN [КодПриц/Тягач]
END)
FROM dbo.АВТОМОБ
GROUP BY dbo.АВТОМОБ.[КодПриц/Тягач]
) src
-- this needs an alias and it also needs a join condition.
on etc = src.
WHERE(dbo.КАРНЕТ.ДтВыдачи BETWEEN CONVERT(DATETIME, '2012-01-01 00:00:00',
102) AND CONVERT(DATETIME, '2012-12-31 00:00:00', 102))
GROUP BY ФИРМА.НаимПредпр

我猜是在连接列上,但我想你可能想要这个:

SELECT ФИРМА.НаимПредпр
FROM dbo.ФИРМА
LEFT OUTER JOIN dbo.АВТОМОБ
ON dbo.АВТОМОБ.КодПредпр = dbo.ФИРМА.КодПредпр
INNER JOIN dbo.КАРНЕТ
ON dbo.КАРНЕТ.КодПредпр = dbo.ФИРМА.КодПредпр
INNER JOIN
(
SELECT Tegaci = COUNT
(CASE [КодПриц/Тягач]
WHEN 4 THEN [КодПриц/Тягач]
END),
Auto = COUNT
(CASE [КодПриц/Тягач]
WHEN 3 THEN [КодПриц/Тягач]
END),
dbo.АВТОМОБ.[КодПриц/Тягач]
FROM dbo.АВТОМОБ
GROUP BY dbo.АВТОМОБ.[КодПриц/Тягач]
) src
-- this needs an alias and it also needs a join condition.
on dbo.АВТОМОБ.[КодПриц/Тягач] = src.[КодПриц/Тягач]
WHERE(dbo.КАРНЕТ.ДтВыдачи BETWEEN CONVERT(DATETIME, '2012-01-01 00:00:00',
102) AND CONVERT(DATETIME, '2012-12-31 00:00:00', 102))
GROUP BY ФИРМА.НаимПредпр

关于sql - 显示存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14522428/

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