请教关于将ACCESS的查询语句转换成SQL数据库查询语句!问题描述:
有二表,一张是记录数据库中的各类档案的表,称为tblItem,另一些是客户表(tblOrganization),业务员,等等,暂且称为表2 ,
现在将截图如下:表1 :tblItem
fitemid   fNumber   fName     fitemclassid fParentid   fisDetail   fDepth
293        01       安徽省       1                0            0       1
308        02       北京市       1                0            0       1
309        03       福建省       1                0            0       1
310        06       预混料类     3                0            0       1
335       01.01003  宿州牧圣饲料经营部   1        293          1       2
336       01.01004  霍邱刘勇饲料添加剂经营部   1  293          1       2
337       01.01005  怀远牧康兽药总汇   1          293          1       2
338       01.01006  合肥永安兽药经营部   1        293          1       2
339       01.01007  阜阳九龙饲料添加剂厂   1      293          1       2
340       01.01008  滁州赵德会           1        293          1       2表2:tblOrganization
fitemid   fnumber    fname
352        02.02004   北京顺义区张镇兽医站
367        03.03008   升荣牧场
395        03.03036   南安官桥镇畜牧兽医咨询部
420        04.27252   中山市翠辉农场
442        05.05022   广东省汕头市动物防疫监督所
453        06.06009   遵义红花岗清书兽药经营部
我在SQL怎么搞也没有搞出个结果来,根据clear_zero大哥的分析,如下语句
select a.fname as ProvinceName,b.fname as companyName,,b.fAddress,b.fLinker,b.fPhone
from (select fname,fAddress,fLinker,fPhone,fParentid from tab1 inner join tab2 on
tab1.fNumber=tab2.fNumber) b inner join tab1 a on b.fParentid =a.fitemid提示列名 'fName' 不明确,然后我在ACCESS进行了查询分析,不过得查询二次才能得到正确的结果。
第一次查询:
SELECT tblItem.fName, a.fName
FROM [SELECT tblItem.fName, tblItem.fitemclassid, tblItem.fParentid FROM tblItem WHERE (((tblItem.fitemclassid)=1) AND ((tblItem.fParentid)<>0))]. AS a INNER JOIN tblItem ON a.fParentid = tblItem.fitemid
第二次查询:
SELECT 查询1.tblItem.fName, tblOrganization.fname, tblOrganization.fAddress, tblOrganization.fLinker, tblOrganization.fPhone
FROM 查询1 INNER JOIN tblOrganization ON 查询1.a.fName = tblOrganization.fname
大家有没有办法把我的ACCESS中转换成SQL的语句,而且是只有一句的呢?

解决方案 »

  1.   

    select a.fname as ProvinceName,b.fname as companyName,,b.fAddress,b.fLinker,b.fPhone
    from (select fname,fAddress,fLinker,fPhone,fParentid from tab1 inner join tab2 on
    tab1.fNumber=tab2.fNumber) b inner join tab1 a on b.fParentid =a.fitemid这里的select fname,fAddress,fLinker,fPhone,fParentid from tab1 inner join tab2 on
    tab1.fNumber=tab2.fNumber中的fname不明确
      

  2.   

    你没有使用什么特殊的函数,应该在sql server通用的
      

  3.   

    1、那个fname不明确如何改?
    2、那二句该如何合并!