在SQL Server中将CASE与JOIN语句一起使用

坦雅

我需要从几个表中选择数据。第一个表包含两列Paid FromPayer Code根据Paid From,我必须返回Student Name(从学生表)或Employee Name(从雇员表)或Account Name(从帐户表)返回。到目前为止,我在SELECT查询中使用了case表达式我想知道是否有可能这样做LEFT JOIN

SELECT  RV.PayerCode ,
        ( SELECT    CASE WHEN PaidFrom = 1
                         THEN ( SELECT  FullName
                                FROM    Students
                                WHERE   StudentID = RV.PayerCode
                              )
                         WHEN paidFrom = 2
                         THEN ( SELECT  AccountName
                                FROM    Accounts
                                WHERE   AccountNumber = RV.PayerCode
                              )
                         WHEN paidfrom = 3 THEN ''
                         WHEN paidFrom = 4
                         THEN ( SELECT  EmployeeName
                                FROM    Employee
                                WHERE   EmployeeID = RV.PayerCode
                              )
                    END
        ) AS PayerName 

FROM    dbo.Finance RV
普雷迪普

试试这个

SELECT RV.PayerCode,
       CASE
         WHEN RV.paidfrom = 3 THEN ''
         ELSE COALESCE(s.FullName, a.AccountName, e.EmployeeName)
       END PayerName,
FROM   dbo.Finance RV
       LEFT OUTER JOIN dbo.Students s
                    ON s.StudentID = RV.PayerCode
                       AND RV.PaidFrom = 1
       LEFT OUTER JOIN dbo.Accounts a
                    ON a.AccountNumber = RV.PayerCode
                       AND RV.PaidFrom = 2
       LEFT OUTER JOIN dbo.Employee e
                    ON e.EmployeeID = RV.PayerCode
                       AND RV.PaidFrom = 4 

注意:请考虑更改数据库结构

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在SQL Server中将CASE语句与SUM函数一起使用

来自分类Dev

在SQL Server中将局部变量与“ use”语句一起使用

来自分类Dev

如何在 SQL Server 2017 中将 RIGHT OUTER JOIN 与 GROUP BY 一起使用?

来自分类Dev

在SQL中将SUM CASE与IN一起使用

来自分类Dev

如何在SQL中将使用case语句创建的2个其他新列放在一起

来自分类Dev

在SQL Server中将MIN函数与group by一起使用

来自分类Dev

在SQL Server中将Count()与自联接一起使用

来自分类Dev

在UWP中将实体框架与SQL Server一起使用

来自分类Dev

在SQL Server中将sum与order by子句一起使用

来自分类Dev

SQL Server:将CASE与LIKE一起使用

来自分类Dev

SQL Server:将CASE与LIKE一起使用

来自分类Dev

在T-SQL中将percentile_cont与“ group by”语句一起使用

来自分类Dev

如何在PDO SQL中将'%'通配符与LIKE语句一起使用?

来自分类Dev

将SQL SUM与包含内部SELECT的Case语句一起使用

来自分类Dev

Rails SQL select,似乎无法与CASE语句一起使用

来自分类Dev

在C#中将SQL INNER JOIN与OleDbDataReader一起使用

来自分类Dev

是否可以在Python中将SQLite3与Microsoft SQL Server一起使用?

来自分类Dev

在SQL Server中将%通配符与'in'运算符一起使用

来自分类Dev

在SQL Server中将COALESCE(或类似的东西)与GROUP BY一起使用

来自分类Dev

SQL Server:在存储过程中将IF与as一起使用

来自分类Dev

在SQL Server中将%通配符与'in'运算符一起使用

来自分类Dev

在Windows应用程序中将Windows身份验证与Sql Server一起使用

来自分类Dev

在SQL Server中将COALESCE(或类似的东西)与GROUP BY一起使用

来自分类Dev

在子查询SQL Server中将max(col)与count一起使用

来自分类Dev

如何使用带有INNER JOIN和date的count一起使用一个SQL语句

来自分类Dev

如何在SQL Server中一起使用count,case和Distinct

来自分类Dev

如何在SQL Server中一起使用count,case和Distinct

来自分类Dev

如何在SQL Server中一起使用PIVOT和JOIN?

来自分类Dev

在SQL中将LIKE'%'与整数一起使用

Related 相关文章

  1. 1

    在SQL Server中将CASE语句与SUM函数一起使用

  2. 2

    在SQL Server中将局部变量与“ use”语句一起使用

  3. 3

    如何在 SQL Server 2017 中将 RIGHT OUTER JOIN 与 GROUP BY 一起使用?

  4. 4

    在SQL中将SUM CASE与IN一起使用

  5. 5

    如何在SQL中将使用case语句创建的2个其他新列放在一起

  6. 6

    在SQL Server中将MIN函数与group by一起使用

  7. 7

    在SQL Server中将Count()与自联接一起使用

  8. 8

    在UWP中将实体框架与SQL Server一起使用

  9. 9

    在SQL Server中将sum与order by子句一起使用

  10. 10

    SQL Server:将CASE与LIKE一起使用

  11. 11

    SQL Server:将CASE与LIKE一起使用

  12. 12

    在T-SQL中将percentile_cont与“ group by”语句一起使用

  13. 13

    如何在PDO SQL中将'%'通配符与LIKE语句一起使用?

  14. 14

    将SQL SUM与包含内部SELECT的Case语句一起使用

  15. 15

    Rails SQL select,似乎无法与CASE语句一起使用

  16. 16

    在C#中将SQL INNER JOIN与OleDbDataReader一起使用

  17. 17

    是否可以在Python中将SQLite3与Microsoft SQL Server一起使用?

  18. 18

    在SQL Server中将%通配符与'in'运算符一起使用

  19. 19

    在SQL Server中将COALESCE(或类似的东西)与GROUP BY一起使用

  20. 20

    SQL Server:在存储过程中将IF与as一起使用

  21. 21

    在SQL Server中将%通配符与'in'运算符一起使用

  22. 22

    在Windows应用程序中将Windows身份验证与Sql Server一起使用

  23. 23

    在SQL Server中将COALESCE(或类似的东西)与GROUP BY一起使用

  24. 24

    在子查询SQL Server中将max(col)与count一起使用

  25. 25

    如何使用带有INNER JOIN和date的count一起使用一个SQL语句

  26. 26

    如何在SQL Server中一起使用count,case和Distinct

  27. 27

    如何在SQL Server中一起使用count,case和Distinct

  28. 28

    如何在SQL Server中一起使用PIVOT和JOIN?

  29. 29

    在SQL中将LIKE'%'与整数一起使用

热门标签

归档