SQL两表关联查询问题!(50分)

  • 主题发起人 主题发起人 huxinqu
  • 开始时间 开始时间
H

huxinqu

Unregistered / Unconfirmed
GUEST, unregistred user!
刚开始学习DELPHI5编程,就遇到了一个菜鸟级的SQL查询问题。
有两个数据表:JHJL.DB 和 PMDM.DB。
在JHJL.DB中,有用中文命名的“商品编号、进价、进货量”字段。
在PMDM.DB中,有用中文命名的“商品编号、商品名称”字段。
两表的“商品编号”字段均为字符型且长度相等。
为便于说明问题,两表都只输入了3条记录。
用SQL查询时,想通过“商品编号”连结两表,显示JHJL.DB中的3个字段和
PMDM.DB中的“商品名称”字段。结果却事与愿违。显示的字段是对的。显示的记录却不是3条,而是9条,即JHJL.DB中的每1条记录对应了PMDM.DB中的3条记录。 在PMDM.DB中加一个名为“自编号”的字段,字段类型和录入的内容与“商品编号”一样,WHERE子句改成‘商品编号=自编号’,显示正常。
不知原因何在?!
SQL语句如下:
SELECT 商品编号,商品名称,进价,进货量
FROM JHJL.DB,PMDM.DB
WHERE 商品编号=商品编号
另外,如果两表数据量很大(达到上万条记录时),查询结果会在硬盘上形成一个几百兆的临时数据库,我也不只是为什么,应如何处理?
望高手指点。我给50分行吗!
 
SQL语句
SELECT j.商品编号,p.商品名称,j.进价,j.进货量
FROM JHJL.DB as j,PMDM.DB as p
WHERE j.商品编号=p.商品编号
 
wangjerry
按您的办法试了一下,果然解决了问题。
想在请教一下,为什么SQL语句要这样写呢?
 
接受答案了.
 
后退
顶部