我有两个数据表
A表:姓名,身份证号,家庭地址 B表:身份证号,属性, (属性)代码
张三 11111 A街 11111 学生 36
李四 22222 B街 22222 null null
王五 33333 C街 33333 学生 36
小小 98765 D街 11111 公务员 38
22222 学生 36
我想得到这样的C表:
姓名,身份证号,家庭地址 属性, (属性)代码
张三 12345 A街 公务员 38
李四 56789 B街 学生 36
王五 23456 C街 学生 36
小小 98765 D街 null null因为B表里有相同的身份证号,但属性不同,当有属性不同时,先取38,再取36,再取null,
(身份证唯一,但人名可能重复)
我怎么才能得到C表,请大家帮帮忙!谢谢了!
A表:姓名,身份证号,家庭地址 B表:身份证号,属性, (属性)代码
张三 11111 A街 11111 学生 36
李四 22222 B街 22222 null null
王五 33333 C街 33333 学生 36
小小 98765 D街 11111 公务员 38
22222 学生 36
我想得到这样的C表:
姓名,身份证号,家庭地址 属性, (属性)代码
张三 12345 A街 公务员 38
李四 56789 B街 学生 36
王五 23456 C街 学生 36
小小 98765 D街 null null因为B表里有相同的身份证号,但属性不同,当有属性不同时,先取38,再取36,再取null,
(身份证唯一,但人名可能重复)
我怎么才能得到C表,请大家帮帮忙!谢谢了!
A.姓名,
A.身份证号,
A.家庭地址,
D. 属性,
D.代码
From A
Left Join (Select B.* From B Inner Join (Select 身份证号,Max(代码) As 代码 From B Group By 身份证号) C On B.身份证号=C.身份证号 And B.代码=C.代码) D
On A.身份证号=D.身份证号