基本达到 下面的那个显示结果,但有重复记录在,我现在还没想到如何去掉重复。
基本 ACCESS 查询写的。没用 mshflexgrid 。
你未提供数据表,造成测试很烦琐。
四个表,A:主数据。B,C,D 依次是三个字典表。
一、五个基本查询。
1、查询2-L:
SELECT B.款式, C.部位, A.尺寸, D.尺码 AS L
FROM A, B, C, D
WHERE (((A.款号)=B.款号) And ((A.部位号)=C.部位号) And ((A.尺寸号)=D.尺寸号)) And D.尺码='L'
ORDER BY A.款号, A.部位号, A.尺寸号;
2、查询2-M:
SELECT B.款式, C.部位, A.尺寸, D.尺码 AS M
FROM A, B, C, D
WHERE (((A.款号)=B.款号) And ((A.部位号)=C.部位号) And ((A.尺寸号)=D.尺寸号)) And D.尺码='M'
ORDER BY A.款号, A.部位号, A.尺寸号;
3、查询2-L:
SELECT B.款式, C.部位, A.尺寸, D.尺码 AS L
FROM A, B, C, D
WHERE (((A.款号)=B.款号) And ((A.部位号)=C.部位号) And ((A.尺寸号)=D.尺寸号)) And D.尺码='L'
ORDER BY A.款号, A.部位号, A.尺寸号;
4、查询2-XL:
SELECT B.款式, C.部位, A.尺寸, D.尺码 AS XL
FROM A, B, C, D
WHERE (((A.款号)=B.款号) And ((A.部位号)=C.部位号) And ((A.尺寸号)=D.尺寸号)) And D.尺码='XL'
ORDER BY A.款号, A.部位号, A.尺寸号;
5、查询2-XXL:
SELECT B.款式, C.部位, A.尺寸, D.尺码 AS XXL
FROM A, B, C, D
WHERE (((A.款号)=B.款号) And ((A.部位号)=C.部位号) And ((A.尺寸号)=D.尺寸号)) And D.尺码='XXL'
ORDER BY A.款号, A.部位号, A.尺寸号;
二、查询的结果。
我使用的是 联合查询,未查 XXL 数据。
SELECT [查询2-X].款式, [查询2-X].部位, [查询2-X].尺寸 AS X, [查询2-M].尺寸 AS M, [查询2-L].尺寸 AS L, [查询2-XL].尺寸 AS XL
FROM [查询2-X], [查询2-M], [查询2-L], [查询2-XL]
WHERE [查询2-X].款式=[查询2-M].款式 And [查询2-X].部位=[查询2-M].部位 And [查询2-X].款式=[查询2-L].款式 And [查询2-X].部位=[查询2-L].部位 And [查询2-X].款式=[查询2-XL].款式 And [查询2-X].部位=[查询2-XL].部位
UNION
SELECT [查询2-X].款式, [查询2-X].部位, [查询2-X].尺寸 AS X, [查询2-M].尺寸 AS M, [查询2-L].尺寸 AS L,'' as XL
FROM [查询2-X], [查询2-M], [查询2-L], [查询2-XL]
WHERE [查询2-X].款式=[查询2-M].款式 And [查询2-X].部位=[查询2-M].部位 And [查询2-X].款式=[查询2-L].款式 And [查询2-X].部位=[查询2-L].部位
UNION
SELECT [查询2-X].款式, [查询2-X].部位, [查询2-X].尺寸 AS X, [查询2-M].尺寸 AS M ,'' as L,"" as XL
FROM [查询2-X], [查询2-M], [查询2-L], [查询2-XL]
WHERE [查询2-X].款式=[查询2-M].款式 And [查询2-X].部位=[查询2-M].部位;
问题:有重复数据。比如查 4个查询时,只有含有 XL 数据那种类型会被查到,如果 XL 为空,则查不到。
在查 L 数据时,也会把查 XL 时查到的数据也列出来, 生成重复数据。