pfe*_*eds 0 sql sql-server select
我想创建一个返回Customers列表的SQL语句,例如:
SELECT Id, FirstName, LastName FROM Customer
Run Code Online (Sandbox Code Playgroud)
显然,那部分很容易.
现在我想创建一个变量列,例如HasOrders.我希望这是一个动态生成的bool列,基于Customer是否在Order表中有一个或多个订单.出于此问题的目的,假设订单是否开放无关紧要,只是订单是否存在该客户ID.
我希望SELECT语句返回所有客户,而不仅仅是带有订单的客户.我需要根据客户是否有订单来做进一步的逻辑.
我不确定这是否可以用IF..ELSE,CASE或嵌套的SELECT实现?
SELECT a.ID, a.FirstName, a.Lastname,
CASE WHEN COUNT(b.CustID) > 0 THEN 'YES' ELSE 'NO' END AS HasOrders
FROM Customer a
LEFT JOIN Orders b
ON a.ID = b.CustID -- <<== the linking column on both tables
GROUP BY a.ID, a.FirstName, a.Lastname
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5479 次 |
| 最近记录: |