.......
var
  filterstr:string;
begin
    Query_FWDCX.Close;
    Query_FWDCX.SQL.Clear;
    filterstr :='';
   if  CheckBox3.Checked then
      filterstr :=filterstr + ' and KX.FJH=''' + fjharr[ComboBox1.itemindex] + '''';
   if CheckBox1.Checked then
      filterstr := filterstr + ' and KX.MC like ''%' + Edit1.Text + '%''';
   if CheckBox2.Checked then
      filterstr := filterstr + ' and FWD.XSDMC like ''%' + Edit2.Text + '%''';
    Query_FWDCX.sql.Text := 'select FWD.*,KX.MC as KXMC from RES_FNKG_INFO KX,XS_FWD FWD where FWD.ID=KX.ID ' +  filterstr;
    Query_FWDCX.Open;
......
“Query_FWDCX.sql.Text := 'select FWD.*,KX.MC as KXMC from RES_FNKG_INFO KX,XS_FWD FWD where FWD.ID=KX.ID ' +  filterstr;”
这句话的大概意思是要丛RES_FNKG_INFO 和XS_FWD 这两个表中找出FWD.ID=KX.ID 的馈线名称及巡视范围段,我不懂的地方是:
 KX.MC as KXMC 这里的AS 是和select配对,还是有别的意思?;
 当要查找的东西有多个时,*放中间是吗,而且要用逗号隔开??
 XS_FWD 后面为什么还要有FWD?XS_FWD 是表名,那FWD是什么?因为刚接触,问的问题比较粗浅,多是形式上的问题,望各位不要见笑,因为我确实感到很困惑。      

解决方案 »

  1.   

    FWD.*,是指查FWD表的所有字段也就是XS_FWD 的所有字段;
    FWD是表XS_FWD 的别名,你可以用XS_FWD 代替所有有FWD的地方;
    AS是一个关键字,是指把它后边的字符串作为前边的别名;
    //另外,这些都跟DELPHI无关,
    //建议重看看SQL的语法书
      

  2.   

    晕,楼主去买本书看吧,这些基础的东东别到这来问,随便一本讲到SQL的书上都有。
      

  3.   

    to  chenzf(chenzf) ( ) 
    看了楼主的问题之后,我敢肯定楼主没有看过一些讲SQL语法的书,直接就看别人的例程,这样不好,看的自己头晕目眩的,只能是事倍功半,何必呢!所以要楼主看看基础的先
      

  4.   

    我知道了,谢谢大家的建议
    请大家告诉我哪本sql的书好
      

  5.   

    同意dulei115(),自己琢磨出来对自己更有好处
      

  6.   

    dulei115(),你说的没错,我确实是拿范例在看,因为手头上还没书,于是就先上来问大家
    ,这样问也有好处,起码我知道我要去看书,你说是不是??
      

  7.   

    //FWD是表XS_FWD 的别名,你可以用XS_FWD 代替所有有FWD的地方;
    AS是一个关键字,是指把它后边的字符串作为前边的别名;//为什么老是要设别名呢?别名的意义到底在哪
      

  8.   

    FWD.*,是指查FWD表的所有字段也就是XS_FWD 的所有字段;
    XS_FWD FWD ,FWD是表XS_FWD 的别名,或者写成XS_FWD as FWD 
    KX.MC as KXMC ,AS是一个关键字,将KX.MC 另取一个名字为KXMC
      

  9.   

    你的例子是为了实现一个条件查询功能,当用户选择条件1时组成一个SQL,
    当用户选择了条件2 时组成一个SQL
    ....你只要看最终的 Query_FWDCX.sql.Text 结果就明白了
      

  10.   

    ......     
     if  CheckBox3.Checked then      
          filterstr :=filterstr + ' and KX.FJH=''' + fjharr[ComboBox1.itemindex] + '''';
      这个句子里的引号真多,我不晓得到底是如何配对的,导致我对这句话的意思一直理解不了,到底是在干嘛????
    郁闷