我在使用CASE语句执行查询时遇到问题。 根据我的情况(例如长度),我想执行不同的SQL语句。 有问题的示例查询如下: select case
when char_length('19480821') = 8
then select count(1) from Patient
when char_length('19480821')=10
then se
没有人知道这个嵌套select语句有什么问题吗?它抱怨丢失)的,但我不明白为什么它不工作(我都不放过声明的其他位) Select
(CASE WHEN REQUESTS.grade_id = 1 THEN
(CASE WHEN ((date_completed-date_submitted)*24*60)<=30 THEN 'Yes'
ELSE 'No'
E
我有一个表我想做分页和排序,并且能够得到类似于下面的查询来完成这项工作(真正的查询涉及更多与连接等)。 WITH NumberedPosts (PostID, RowNum) AS
(
SELECT PostID, ROW_NUMBER() OVER (ORDER BY
CASE WHEN @sortCol = 'User' THEN User END DESC,
我很想有一个T-SQL语句像下面... SELECT [field]
FROM [table]
WHERE CASE @flag
WHEN 1 THEN col1 = @value
ELSE col2 = @different_value
END
问题的关键是我想提出一个标志,在我的功能使用不同的where子句中相同的查询。我只是无法让它工作。这可能吗?
我有一个(非常复杂的)SQL语句,我从很多不同的表中选择数据,为了应对不良的遗留数据结构,我有一些自定义根据其他列的值获取其值的列。我已经与目前陈述CASE解决了这个: SELECT
...,
CASE channel
WHEN 1 THEN channel_1
WHEN 2 THEN channel_2
...
ELSE 0
显然NUMBER + NULL在SQL中返回NULL。所以我需要它添加0而不是NULL,但这不起作用,我得到一个语法错误。我在看文档,这就是它所说的这样做,我不知道... SELECT sku, (qty + (SELECT(CASE qty WHEN IS NULL THEN 0 ELSE qty END)
FROM other WHERE sku = Sheet1.sku L