有两张表
表A结构内容如下F1 F2
1 001
2 002
3 003
4 004表B结构内容如下F1 F2
001 abc
002 qwe
001 abc
002 qwe
002 qwe
003 iop
004 yue
001 abc
003 iop
005 bcv
002 qwe
004 yue想用left join 把两张变连接在一起 A表记录数不变 但是需要把b表的F2字段连接到一起构成新的结果集
但依然只能有四条记录,请问怎么用一个sql语句实现
表A结构内容如下F1 F2
1 001
2 002
3 003
4 004表B结构内容如下F1 F2
001 abc
002 qwe
001 abc
002 qwe
002 qwe
003 iop
004 yue
001 abc
003 iop
005 bcv
002 qwe
004 yue想用left join 把两张变连接在一起 A表记录数不变 但是需要把b表的F2字段连接到一起构成新的结果集
但依然只能有四条记录,请问怎么用一个sql语句实现
FROM A
LEFT JOIN (SELECT F1, MIN(F2) FROM B GROUP BY F1) C
ON A.F2 = C.F1
FROM A
LEFT JOIN (SELECT F1, MIN(F2) F2 --此处加一个别名
FROM B GROUP BY F1) C
ON A.F2 = C.F1
--方法2
SELECT A.*, C.F2 AS F3
FROM A
LEFT JOIN (SELECT F1, F2,
ROW_NUMber() OVER (PARTITION BY F1 ORDER BY F2 DESC) rnum
FROM B GROUP BY F1) C
ON A.F2 = C.F1
AND rnum=1;
select a.f1, b.f2 from a, b where a.f2=b.f1)
group by f1;
select F1, wm_concat(F2) from (
select a.F1, b.F2 from a, b where a.F2=b.F1)
group by F1;
select a.f1, b.f2 from a, b where a.f2=b.f1)
group by f1;