各位高手帮我解决一个问题

mfkvfn 2004-11-21 03:27:17
有两个表table1和table2, 结构都是这样:
LineNo | LineString
1 | adadafdasf
2 | fgfdgfdgfgfd
3 | dfsdfsdfs
... | ....
问我要如何生成一个表table3,结构是这样
LineNo1 | LineNo2 | LineString
1 1 adadafdasf
2 0 fgfdgfdgfgfd
3 2 dfsdfsdfs
0 3 bfdgdgs
... ... ...
其中LineNo1意义为:table1中对应的LineNo
LineNo2意义为:table2中对应的LineNo
LineString意义为:LineNo1或LineNo2对应的字符串
若LineNo2为0,意义为:table1中没有与之相同的字符串
若LineNo1为0,意义为:table2中没有与之相同的字符串
若LineNo1和LineNo2都不为0,意义为:table1和table2中有相同的字符串
不知有没有SQL语句可以使用,若有请各位高手告之。

...全文
69 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
progrose 2004-11-21
  • 打赏
  • 举报
回复
select line_no lineno1, 0 lineno2, linestring
from table1
where linestring not in (select linestring from table2)

union all

select 0 lineno1, line_no lineno2, linestring
from table2
where linestring not in (select linestring from table1)

union all

select table1.line_no lineno1, table2.line_no lineno2, table1.linestring
from table1, table2
where table1.linestring = table2.linestring
WorldMobile 2004-11-21
  • 打赏
  • 举报
回复
select line_no lineno1, 0 lineno2, linestring
from table1
where line_no not in (select line_no from table2)

union all

select 0 lineno1, line_no lineno2, linestring
from table2
where line_no not in (select line_no from table1)

union all

select table1.line_no lineno1, table2.line_no lineno2, table1.linestring
from table1, table2
where table1.line_no = table2.line_no

即可
WorldMobile 2004-11-21
  • 打赏
  • 举报
回复
select line_no lineno1, 0 lineno2, linestring
from table1
where line_no not in (select line_no from table2)

union all

select 0 lineno1, line_no lineno2, linestring
from table2
where line_no not in (select line_no from table1)

即可
union all

select table1.line_no lineno1, table2.line_no lineno2, table1.linestring
from table1, table2
where table1.line_no = table2.line_no

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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