【发布时间】:2020-07-13 01:36:52
【问题描述】:
所以我有这些数据,来自 tbl_left :
id name type our_assets
1 'Mira' cc 10
2 'Mira' bb 9
还有这个,来自 tbl_right :
id name assets_other name_of_assets
1 'Mira' 3 assets_a
2 'Mira' 1 assets_b
3 'Mira' 1 assets_c
4 'Mira' 1 assets_d
我怎样才能加入这两个表和结果是这样的:
name type our_assets assets_other name_of_assets
'Mira' cc 10 3 assets_a
'Mira' bb 9 1 assets_b
'Mira' 1 assets_c
'Mira' 1 assets_d
我不在乎列类型和 our_assets 是否有重复值,我尝试使用 join 但结果变为 8 行而不是 4 行:
name type our_assets assets_other name_of_assets
'Mira' cc 10 3 assets_a
'Mira' cc 10 3 assets_a
'Mira' bb 9 1 assets_b
'Mira' bb 9 1 assets_b
'Mira' 1 assets_c
'Mira' 1 assets_c
'Mira' 1 assets_d
'Mira' 1 assets_d
如果我使用 group by name_of_assets 列类型仅返回“cc”值。
【问题讨论】:
-
到目前为止你尝试了什么?
-
SELECT a.name,a.type,a.our_assets,b.assets_other,b.name_of_assets FROM
tbl_lefta right join tbl_right b on a.name=b.name -
SELECT a.name,a.type,a.our_assets,b.assets_other,distinct(b.name_of_assets) FROM tbl_left a right join tbl_right b on a.name=b.name 试试这个跨度>
-
@Hirumina 仍然返回 8 行..