我想在一张桌子上制作两张桌子。
TABLE WASP_COLOR1
ID NAME COLOR CODE
1 WASP01 RED RD
2 WASP04 RED RD
3 WASP19 BLUE BL
TABLE WASP_COLOR2
ID NAME SIZE CODE
1 WASP01 6 RD
2 WASP13 10 BL
3 WASP22 4 BL
我是新手,我需要明确指导如何获得这些结果。 (我希望合并重复项。)
TABLE WASP_COLOR1
ID NAME COLOR SIZE CODE
1 WASP01 RED 6 RD
2 WASP04 RED RD
3 WASP19 BLUE BL
4 WASP13 10 BL
5 WASP22 4 BL
我尝试了以下内容:
SELECT
distinct wasp_color2.name, wasp_color2.size,
wasp_color2.code, wasp_color1.name, wasp_color1.color,
wasp_color1.code
INTO
wasp_color1
FROM
wasp_color2, wasp_color1;
收到错误
我试过了:
SELECT
distinct wasp_color2.name, wasp_color2.size, wasp_color2.code,
wasp_color1.name, wasp_color1.color, wasp_color1.code
INTO
test
FROM
wasp_color2, wasp_color1;
收到9行而不是5行
我试过了:
SELECT
name.wasp_color1, name.wasp_color2, color, size,
code.wasp_color1, code.wasp_color2
INTO
test
FROM wasp_color2, wasp_color1;
这要求输入参数值,这是一个手动输入和繁琐的
我试过了:
SELECT
coalesce name.wasp_color1, name.wasp_color2, color,
size, code.wasp_color1, code.wasp_color2
INTO
test
FROM
wasp_color2, wasp_color1 full join;
收到错误
答案 0 :(得分:0)
这样的MS访问可能不支持完全外连接。
这样做是为wasp_Color1生成两个数据集,在wasp_Color2中生成两个匹配的记录,反之亦然。然后将这些结果合并到一个数据集中,消除重复数据。
为了更好地理解联接:请参阅https://blog.codinghorror.com/a-visual-explanation-of-sql-joins/
Select WC1.Name, WC1.Color, WC2.Size, WC1.Code
FROM wasp_Color1 wc1
LEFT JOIN wasp_color2 wc2
on wc1.Name = WC2.Name
and wc1.code = wc2.code
UNION
Select WC2.Name, WC1.Color, WC2.Size, WC2.Code
FROM wasp_Color1 wc1
RIGHT JOIN wasp_color2 wc2
on wc1.Name = WC2.Name
and wc1.code = wc2.code