非常谢谢都市侠影老师的指点!
另外我还有两个问题请老师解答:
(1)利用追加查询向新表插入记录,可是我数据来源是很多个表,而且从很多个表查询到的结果是有重复值的。
下面是追加查询的SQL语句
INSERT INTO 供应商详细信息列表 ( 供应商, 供应商, 供应商 )
SELECT DISTINCT Capacitor.Manufacturer, connector.Manufacturer, Inductor.Manufacturer
FROM Capacitor, connector, Inductor;
运行的时候会弹出对话框“输出目标供应商重复”
怎么能避免重复呢?
(2) 如题,我做的这个联合查询,结果显示所有器件的供应商列表,为什么总是第一个记录是空白的呢?
我试着将SQL语句改为:
SELECT DISTINCT Manufacturer As [供应商]
FROM Bead
WHERE (Manufacturer IS NOT NULL)
仍存在这种现象,该怎么解决?
我这打不开你那个格式的文件,我的Access是2003版的
问题一:有两点,一是你那个供应商表我不知道你为什么弄了三个名称相同的字段,二是你那几个表没有给定连接条件,系统默认为笛卡尔连接,这种连接将第一个表的每一条记录与第二个表的每一条记录进行连接,即是说假定第一个表有10条记录,第二个表有20条记录,第三个表有30条记录,那么三个表的笛卡尔连接将含有10×20×30=6000条记录,这是你产生重复的原因。事实上这些表应该有相互关联的字段,比如供应商(供应商ID,供应商名称)划线部分是主键,采购单(采购单号,供应商ID,商品ID,数量,进货单价),商品(商品ID,商品名称,销售价格)采购单中的供应商ID字段就是参照供应商表主键的外键,而商品ID就是参照商品表主键的外键,如果要查询的话就应该写:
SELECT 供应商名称,商品名称,数量,进货价格 FROM 供应商,采购单,商品 WHERE 供应商.供应商ID=采购单.供应商ID AND 采购单.商品ID=商品.商品ID;
上面那个WHERE条件就是三个表连接的条件,不指定的话就成为笛卡尔连接。
问题二:我这打不开附件所以……
总记录:3篇 页次:1/1 9 1 :