比较两个表并输出到新列

时间:2012-12-04 13:18:19

标签: case

这只是返回Y或N而不是直接比较数据

tblViewLearners(此intID =另一个表中的intLearnerID)

IntID   -   FirstName    -  Surname   -  Course    - Dob    - address     - nationality
701271      Julie           Barnett      Physics     NULL       NULL          NULL
345239      Rachel          Smith        Physics     NULL       NULL          NULL
240259      David           Feffer       Maths       NULL       NULL          NULL

tblAWARDSLearner(基本上如果学习者在此表中创建了'DISTINCTION')

 intID   -  intLearnerID    -  dateawarded
 2402       701271             21/04/1992
 1032       345239             01/01/2010

我的目标

IntID   -   FirstName    -  Surname   -  Course     - DISTINCTION Awarded
701271      Julie           Barnett      Physics          Yes
345239      Rachel          Smith        Physics          Yes
240259      David           Feffer       Maths            No

代码

SELECT Y.intID
FROM
(
SELECT    A.* ,   
CASE 
        WHEN B.intLearnerID IS NULL THEN 'N' 
        ELSE 'Y' 
END 'DISTINCTION Awarded' x
FROM 
    tblviewlearners A
    LEFT JOIN tblAWARDSLearner B
    ON A.intID = B.intLearnerID

)AS Y;

我还要将它与另一个表连接起来,但是一旦上面的工作就会越过那个桥,值得注意的是上面的表已经被进一步声明了,所以当我加入时我不需要包含它一个FROM,只是直接比较表列(我认为这是正确的)。但是我希望首先完成上述工作。

0 个答案:

没有答案