|
本帖最后由 cgsilicone 于 2013-6-22 15:29 编辑
你的图片例子让人不好理解你的要求
如果表1是:
字段1 字段2 字段3 字段4
1 1 1 1
1 2 1 1
2 2 2 2
如果表2是:
字段1 字段2 字段3 字段4
2 2 2 3
1 1 2 1
1 2 1 5
4 4 4 5
你要得到
字段1 字段2 字段3 新字段4
1 1 1 1
1 2 1 5
2 2 2 3
可以用如下查询
SELECT 表1.字段1, 表1.字段2, 表1.字段3, iif(isnull(表2.字段5),表1.字段4,表2.字段5) AS 新字段4
FROM 表1 LEFT JOIN 表2 ON (表1.字段3 = 表2.字段3) AND (表1.字段2 = 表2.字段2) AND (表1.字段1 = 表2.字段1);
ACCESS的查询是非常强大的,只有想不到,少有做不到。或许你想要的是这种效果
字段1 字段2 字段3 新字段4
1 1 1 1
1 2 1 5
2 2 2 3
1 2 1 5
4 4 4 5
SELECT 表1.字段1, 表1.字段2, 表1.字段3, IIf(IsNull(表2.字段5),表1.字段4,表2.字段5) AS 新字段4
FROM 表1 LEFT JOIN 表2 ON (表1.字段3=表2.字段3) AND (表1.字段2=表2.字段2) AND (表1.字段1=表2.字段1);
UNION ALL SELECT 表2.字段1, 表2.字段2, 表2.字段3, 表2.字段5
FROM 表1 RIGHT JOIN 表2 ON (表1.字段3 = 表2.字段3) AND (表1.字段2 = 表2.字段2) AND (表1.字段1 = 表2.字段1)
WHERE (((表1.字段1) Is Null));
|
|