gpt4 book ai didi

SQL 条件排序依据

转载 作者:行者123 更新时间:2023-12-01 07:03:40 24 4
gpt4 key购买 nike

我正在对两个表进行连接。一个是用户表,另一个是高级用户列表。我需要让高级成员(member)首先出现在我的查询中。然而,仅仅因为他们在高级用户表中并不意味着他们仍然是高级成员(member)——还有一个 IsActive 字段需要检查。

所以基本上我需要按以下顺序返回结果:

  • 活跃高级用户
  • 普通和非活跃高级用户

  • 现在我有它如下:
    SELECT Users.MemberId, PremiumUsers.IsActive FROM Users
    LEFT JOIN PremiumUsers ON PremiumUsers.UserId = Users.Id
    ORDER BY PremiumUsers.IsActive DESC

    问题在于它将非活跃高级成员(member)置于非高级成员(member)之上。

    (我为此使用 MS SQL Server 2005)

    最佳答案

    尝试按案例排序

    ORDER BY CASE
    WHEN PremiumUsers.IsActive = 1 THEN 1
    WHEN PremiumUsers.UserId IS NULL THEN 2
    ELSE 3
    END

    关于SQL 条件排序依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/318356/

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