请问一个行合并和列合并的综合问题.

wd_6532 2007-05-09 06:06:02
table sub1

id1 f1 s
----------- -------------------------------------------------- ----------
1 3.1 a
2 3.2 b


table sub2
id2 f2
----------- --------------------------------------------------
1 3.4
2 3.5
5 3.8


怎么列出如下结果



id sub1.f1 sub1.s sub2.f2
1 3.1 a 3.4
2 3.2 b 3.5
5 null null 3.8
...全文
250 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wd_6532 2007-05-10
  • 打赏
  • 举报
回复
up
wd_6532 2007-05-10
  • 打赏
  • 举报
回复
我怎么觉得你想解释的问题跟我想问的问题不一样
HelloWorld_001 2007-05-09
  • 打赏
  • 举报
回复
http://hi.baidu.com/comasp/blog/item/83cbc9f93e94ee58242df2e1.html
这个有例子,上面有例子和结果的
老大,我说了不会mysql的,都是baidu搜出来的


我贴下面了

例子:
a表 id name b表 id job parent_id
1 张3 1 23 1
2 李四 2 34 2
3 王武 3 34 4

a.id同parent_id 存在关系

内连接
select a.*,b.* from a inner join b on a.id=b.parent_id

结果是
1 张3 1 23 1
2 李四 2 34 2

左连接

select a.*,b.* from a left join b on a.id=b.parent_id

结果是
1 张3 1 23 1
2 李四 2 34 2
3 王武 null
右连接
select a.*,b.* from a right join b on a.id=b.parent_id

结果是
1 张3 1 23 1
2 李四 2 34 2
null 3 34 4

完全连接

select a.*,b.* from a full join b on a.id=b.parent_id


结果是
1 张3 1 23 1
2 李四 2 34 2
null 3 34 4
3 王武 null
wd_6532 2007-05-09
  • 打赏
  • 举报
回复
left join的话,右表中sub2.id2=5的那行,就不会出现了.
因为sub1.id1没有等于5的.
HelloWorld_001 2007-05-09
  • 打赏
  • 举报
回复
不会,抱歉只会oracle的写法,没接触其他数据库(除了VFP)

好像是left join 吧!
看下面的:
http://topic.csdn.net/t/20050113/11/3722045.html
wd_6532 2007-05-09
  • 打赏
  • 举报
回复
(+)=?

你用outer join帮我实现试试?

我用mysql的,应该跟sqlserver差不多.
HelloWorld_001 2007-05-09
  • 打赏
  • 举报
回复
select a.id,a.f1,a.s,b.f2 from sub1 a,sub2 b
where a.id(+)=b.id //oracle的写法

你的问题好像没有 行合并和列合并的综合问题.
就是1个外连接的问题

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧