小编use*_*111的帖子

如何最后返回具有特定值的行?

我的问题与这个问题相反,是否可以定义排序顺序

我想从 SQL Server 数据库返回一些记录,根据列的值按升序排序,但两个特定记录应始终放在最后。

原始SQL(需要更改)如下:

select code_id as CategoryID, code_desc as CategoryDescription
from codes
where code_id > '000001' and code_id < '000100'
order by CategoryDescription
Run Code Online (Sandbox Code Playgroud)

结果返回为

  • 000003 ***第一条记录
  • 000002 ***另一条记录
  • 000004 苹果
  • 000016 书籍
  • 000014 电缆

我想要以下结果(前两个最后一个带有星号):

  • 000004 苹果
  • 000016 书籍
  • 000014 电缆
  • 000003 ***第一条记录
  • 000002 ***另一条记录

我尝试了下面的 UNION 语句,但结果集自动按升序排序,默认情况下这两行在开头。

select code_id as CategoryID, code_desc as CategoryDescription
from codes
where code_id > '000003' and code_id < '000100' 
--order by categoryDescription

UNION

select code_id as CategoryID, code_desc as …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql

5
推荐指数
1
解决办法
1万
查看次数

如何获得部分计数的总数

这里是这个问题的扩展,我怎样才能获取所有达到允许缺席人数上限的学生的人数。

我试过这个

SELECT COUNT(*) FROM
(
SELECT student_id,
       COUNT(attendance)
FROM   student_attendance
WHERE  attendance = 'ABSENT'
GROUP  BY student_id
HAVING COUNT(attendance) = (SELECT max_allowed
                            FROM   configurations)
) abc
Run Code Online (Sandbox Code Playgroud)

但它不起作用并出现此错误:

未为“abc”的第 2 列指定任何列。

环境: SQL Server 2000

sql-server sql-server-2000

0
推荐指数
1
解决办法
170
查看次数

如何使 OUTER JOIN 返回零而不是 NULL

我正在尝试在 SQL Server 上完成此操作。带有数据的最简单的表结构如下所示。

Table: Blog

BlogID | Title
-------+--------
  1    | FirstBlog
 23    | Pizza

Table: User

UserID | Name
-------+-----------
123    | james
444    | John

Table: UserBlogMapping

UserBlogMappingID | BlogID | UserID
------------------+--------+------
1                 |    1   |  123
Run Code Online (Sandbox Code Playgroud)

我想在一个 SQL 查询中获取FormIDUserBlogMappingID。如果提供UserID的不在映射表中,则返回零,否则返回有效的userBlogMappingID。我正在尝试运行以下查询,但它不正确。

SELECT 
    B.BlogID, 
    BUM.BlogUserMappingID 
FROM 
    Blog AS B
        LEFT JOIN BlogUserMapping AS BUM ON B.BlogID = BUM.BlogID
WHERE 
    (B.BlogID = 23)  -- it exists in the table
    AND BUM.userID …
Run Code Online (Sandbox Code Playgroud)

join sql-server

-1
推荐指数
1
解决办法
4269
查看次数

标签 统计

sql-server ×3

join ×1

sql-server-2000 ×1

t-sql ×1