C
crazycock
Unregistered / Unconfirmed
GUEST, unregistred user!
主表A,明细表B,我有这样一个语句
select A.ID,B.ID,B.Data1,B.Data2 from A LEFT JOIN B ON A.ID=B.ID order by A.ID
这个语句执行的结果相信大家都能猜到了,那就是无论B明细表中是否有A表记录的对应信息,那么都会在结果中占一条记录,例如下面的数据:
A表中有
张三
李四
B表中有
张三 本科 4年
张三 硕士 3年
检索的结果应该是
张三 本科 4年
张三 硕士 3年
李四 NULL NULL
我现在的要求是,我想得到
张三 硕士 3年
李四 NULL NULL
这样的结果,也就是说,无论B表中有没有A表的明细,我只想得到最后一条数据,刚才张三的B表中存在本科和硕士,那么我只要最后一条“硕士”即可;而李四在B表没有数据,所以依旧是NULL NULL。
请大家指点。
select A.ID,B.ID,B.Data1,B.Data2 from A LEFT JOIN B ON A.ID=B.ID order by A.ID
这个语句执行的结果相信大家都能猜到了,那就是无论B明细表中是否有A表记录的对应信息,那么都会在结果中占一条记录,例如下面的数据:
A表中有
张三
李四
B表中有
张三 本科 4年
张三 硕士 3年
检索的结果应该是
张三 本科 4年
张三 硕士 3年
李四 NULL NULL
我现在的要求是,我想得到
张三 硕士 3年
李四 NULL NULL
这样的结果,也就是说,无论B表中有没有A表的明细,我只想得到最后一条数据,刚才张三的B表中存在本科和硕士,那么我只要最后一条“硕士”即可;而李四在B表没有数据,所以依旧是NULL NULL。
请大家指点。