SQL中Union和if else 的问题
begin
declare @topCount int
declare @needCount int
SELECT @topCount = Count(*) from T_Article
end
select @needCount = 5-@topCount
SELECT ArticleID, IsTop, IsNotice, IsNews, ImageUrl, Title, [Content], ChannelId, ModuleId, AdminID, CONVERT(VARCHAR(10),AddDate,110) as AddDate
FROM T_Article
WHERE (IsNews = 1 AND IsTop=1)
UNION ALL
begin
if(@needCount > 0)
begin
SELECT TOP (@needCount) ArticleID, IsTop, IsNotice, IsNews, ImageUrl, Title, [Content], ChannelId, ModuleId, AdminID, CONVERT(VARCHAR(10),AddDate,110) as AddDate
FROM T_Article
WHERE (IsNews = 1 AND IsTop=0)
end
end
错误提示:
消息 156,级别 15,状态 1,第 15 行
关键字 'begin' 附近有语法错误。
declare @topCount int
declare @needCount int
SELECT @topCount = Count(*) from T_Article
end
select @needCount = 5-@topCount
SELECT ArticleID, IsTop, IsNotice, IsNews, ImageUrl, Title, [Content], ChannelId, ModuleId, AdminID, CONVERT(VARCHAR(10),AddDate,110) as AddDate
FROM T_Article
WHERE (IsNews = 1 AND IsTop=1)
UNION ALL
begin
if(@needCount > 0)
begin
SELECT TOP (@needCount) ArticleID, IsTop, IsNotice, IsNews, ImageUrl, Title, [Content], ChannelId, ModuleId, AdminID, CONVERT(VARCHAR(10),AddDate,110) as AddDate
FROM T_Article
WHERE (IsNews = 1 AND IsTop=0)
end
end
错误提示:
消息 156,级别 15,状态 1,第 15 行
关键字 'begin' 附近有语法错误。
...全文
相关推荐
使用UNION ALL代替IF语句的合并处理案例
```sql IF @Flag = 0 SELECT * FROM dbo.A ELSE IF @Flag = 1 SELECT * FROM dbo.B ```2.
Which SQL statement is the trump card to the senior software developer
CASE WHEN语句允许开发者根据条件进行复杂的逻辑判断,实现数据的分类和转换。它可以结合IF...ELSE结构,提供灵活的数据处理方式,对数据进行筛选、修改或组合。
SQL问题-:来自Leetcode和StrataScratch.com的针对硬和中额定问题SQL解决方案
- **CASE表达式**:在SQL中实现条件逻辑,类似于编程中的if-else语句。3. **数据类型和类型转换**: - **数值类型**:INT、FLOAT、DECIMAL等,处理数值数据。
sql考试面试题大全(真的很全)
、函数以及复杂查询等多个方面,旨在帮助理解和掌握SQL在实际问题中的应用。
Oracle高级sql学习与练习
DECODE函数和行列互换则是对数据进行条件处理和转置的重要工具。DECODE函数类似于IF-THEN-ELSE的逻辑,允许在SQL查询中进行条件判断。7.


应用实例
