小编dan*_*nny的帖子

了解LEFT OUTER JOIN

可能重复:
三个表连接与INNER JOIN以外的连接

我是SQL的初学者,我正在尝试理解如何使用join子句.我在两个表之间使用了Left Join:

SELECT     Table1.Key1, Table2.Key2
FROM         Table1 LEFT OUTER JOIN
                  Table2 ON Table1.Key1 = Table2.Key2
Run Code Online (Sandbox Code Playgroud)


我可以使用左连接(或右连接)检索仅在Table1中的键吗?

谢谢

sql

2
推荐指数
1
解决办法
2647
查看次数

如何在SQL中合并2行

我正在尝试创建一个存储过程来从多个中检索值.问题出在表A中,有一个布尔类型(isLocked),我必须为每个状态创建一个列('Locked'和'Unlocked').这是我写的查询:

SELECT    Machine.Machine_ID,
SUM(FinanceDonnee.CoutHoraire) AS Total,
CASE 
WHEN FinanceDonnee_isLocked = 1
 THEN
    SUM(FinanceDonnee.CoutHoraire)
 ELSE
    0
END
AS Locked,
CASE 
WHEN FinanceDonnee_isLocked= 0
 THEN
    SUM(FinanceDonnee.CoutHoraire)
 ELSE
    0
END
AS Unlocked
FROM         ICR INNER JOIN
             FinanceDonnee ON Machine.Machine_ID = FinanceDonnee.FinanceDonnee_Machine_ID
GROUP BY ICR_ID, FinanceDonnee.FinanceDonnee_isLocked
Run Code Online (Sandbox Code Playgroud)

但它运行不正常,因为它复制了Machine_ID,一个用于锁定,另一个用于解锁:

ID          Locked   Unlocked
4D9646EC    0        2
4D9646EC    12       0
Run Code Online (Sandbox Code Playgroud)

我想有这样的观点:

ID          Locked   Unlocked
4D9646EC    12       2
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

谢谢.

sql sql-server-2005 sql-server-2008

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

标签 统计

sql ×2

sql-server-2005 ×1

sql-server-2008 ×1