Office中国论坛/Access中国论坛
标题: 求助(急) 执行全外连接查询引发的错误 [打印本页]
作者: xhcb 时间: 2006-6-4 22:55
标题: 求助(急) 执行全外连接查询引发的错误
SELECT a.*,b.*
FROM sheet1 as a FULL OUTER JOIN sheet2 as b ON a.f3=b.f3;
执行以上语句会提示FROM 子句语法错误,为什么?请高手指教.
作者: nxjswt 时间: 2006-6-5 03:23
ACCESS支持外连接,但不包括完整外部联接,如支持 INNER JOIN
LEFT JOIN 或 RIGHT JOIN
但不支持
FULL OUTER JOIN 或 FULL JOIN
你用RIGHT JOIN 试验!
简要地将你的数据库传上来看看!
[此贴子已经被作者于2006-6-4 19:25:37编辑过]
作者: xhcb 时间: 2006-6-5 04:29
标题: 请教 nxjswt
[attach]18262[/attach]
请指教:如何以F3为连接条件将两个表并在一起,形成SHEET1.F1、SHEET1.F2、SHEET1.F3+SHEET2.F3、SHEET2.F1、SHEET2.F2五个字段的新表
最简单的办法使用全外连接吗?
作者: nxjswt 时间: 2006-6-5 04:50
把你的EXCEL发个例子上,要看你的F3什么类型啊
难道需要这样
SELECT Sheet1.F1, Sheet1.F2, Sheet2.F3+Sheet1.F3 AS 合并F3, Sheet2.F1, Sheet2.F2
FROM Sheet1, Sheet2
WHERE (((Sheet2.F3)<>"0"));
[此贴子已经被作者于2006-6-4 20:54:39编辑过]
作者: xhcb 时间: 2006-6-5 04:55
标题: 再请教nxjswt
[attach]18263[/attach]
EXCEL中的SHEET1、SHEET2
作者: xhcb 时间: 2006-6-5 05:04
好象这是右外连接,这样得到的结果也不会全的,有部分存在SHEET1而不在SHEET2的记录就会丢失。
作者: nxjswt 时间: 2006-6-5 05:22
1、你的EXCEL2最后显示第二列类型不符合,521-524
2、你的目的是重复查询还是必须对应查询啊
[此贴子已经被作者于2006-6-4 21:22:56编辑过]
作者: xhcb 时间: 2006-6-5 05:29
是以F3为连接条件的对应查询,有什么办法可以让对应到的依次排列,对不上的接在后面也一个不漏吗?
类型对不上的可以修改
[此贴子已经被作者于2006-6-4 21:35:01编辑过]
作者: xhcb 时间: 2006-6-5 05:48
SELECT sheet1.*, sheet2.*
FROM sheet1 LEFT JOIN sheet2
ON sheet1.f3 = sheet2.f3
UNION ALL SELECT sheet1.*, sheet2.*
FROM sheet1 RIGHT JOIN sheet2
ON sheet1.f3 = sheet2.f3
WHERE sheet1.f3 IS NULL;
这样行不行?
作者: nxjswt 时间: 2006-6-5 05:56
SELECT Sheet1.F1, Sheet1.F2, Sheet2.F1, Sheet2.F2, Sheet2.F3
FROM Sheet2 RIGHT JOIN Sheet1 ON Sheet2.F3=Sheet1.F3
ORDER BY Sheet2.F3 DESC;
UNION ALL
SELECT Sheet1.F1, Sheet1.F2, Sheet2.F1, Sheet2.F2, Sheet2.F3
FROM Sheet2 LEFT JOIN Sheet1 ON Sheet2.F3=Sheet1.F3
ORDER BY Sheet2.F3 DESC;
作者: xhcb 时间: 2006-6-5 06:13
谢了,终于搞定。
可是结果中有些重复项,怎么去除重复项呢?
[此贴子已经被作者于2006-6-4 22:14:51编辑过]
作者: nxjswt 时间: 2006-6-5 06:29
SELECT Sheet1.F1, Sheet1.F2, Sheet2.F1, Sheet2.F2, Sheet2.F3
FROM Sheet2 RIGHT JOIN Sheet1 ON Sheet2.F3=Sheet1.F3
ORDER BY Sheet2.F3 DESC;
UNION SELECT Sheet1.F1, Sheet1.F2, Sheet2.F1, Sheet2.F2, Sheet2.F3
FROM Sheet2 LEFT JOIN Sheet1 ON Sheet2.F3=Sheet1.F3
ORDER BY Sheet2.F3 DESC;
作者: xhcb 时间: 2006-6-5 06:47
再次感谢。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |