none
SQL如何处理这个逻辑? RRS feed

  • 问题

  • 如果A表的Name,Sex,Age和B表的 Name,Sex,Age都相等
    那么列出A表的Height和B表的Height,
    如果Name,Sex,Age只要有一列不相等,就不列Height
    请问SQL如何写?

    2019年1月1日 13:53

答案

  • 你好,

    可以使用case when 来做这个条件。

    Select 
        A.Name, 
        A.Age,
    	A.Sex,
        CASE 
            WHEN a.Name = b.Name and a.Age = b.Age and a.Sex = b.Sex THEN a.Height 
            ELSE NULL END
        as height 
    From A 
    join B on A.AId = B.BId

    Best regards,

    Zhanglong


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已建议为答案 Tt.string() 2019年1月3日 2:52
    • 已标记为答案 Lexan-Live 2019年1月11日 13:32
    2019年1月2日 1:45
    版主