我现在有两个表一个是学生情况,一个是宿舍情况
其中都有个学生姓名字段,我想点击查询则显示对应的记录,问题是如果我只是简单的select * from XSQK,Ssqk where Student_Name='''+edit.text+'''';的话就会出现许多记录也就是每个表的记录都会显示,我现在只想显示不重复的字段怎么办?
我是这样写的,代码每错,但是功能不能实现,大家帮帮忙!在线等◎!
if XMCX.Checked then
   begin
      Main_Query.SQL.Add('select Ssqk.*,XSQK.* from XSQK');
      Main_Query.SQL.Add('Inner join Ssqk');
      Main_Query.SQL.Add('on xsqk.student_name=ssqk.student_name');
      Main_Query.SQL.Add('where Student_Name='''+TJ_edit.Text+'''');
   end else
       if XHCX.Checked then
       begin
         Main_Query.SQL.add('select * from XSQK');
         Main_Query.SQL.Add('where XSQK.Student_Id='''+TJ_edit.Text+'''');
       end else
         showmessage('请选择查询条件!');

解决方案 »

  1.   

    具体点
    好像不可以的distinct
      

  2.   

    'select Ssqk.a,Ssqk.b,Ssqk.c,XSQK.1,XSQK.2,XSQK.3 ......
    a,b,c;1,2,3分别是表的字段
      

  3.   

    应该这样写看看。
    select distinct Ssqk.*,XSQK.* from (XSQK Inner join Ssqk on xsqk.student_name=ssqk.student_name)
    where Ssqk.Student_Name='''+TJ_edit.Text+''''
      

  4.   

    不想显示重复的字段,就不要用表.*查询呀
    应该是select A.a,A.b,A.c,B.d,B.e from tableA A,Table B B where ......如果是不想显示重复的记录,就加一个distinct 
    select distinct ...... from .....
      

  5.   

    if XMCX.Checked then
       begin
          Main_Query.SQL.Add('select Ssqk.lph,Ssqk.Qsbh,Ssqk.Cwh,XSQK.Student_Name,XSQK.Student_id,XSQK.Sex,XSQK.Age,XSQK.JG from XSQK,Ssqk');
          Main_Query.SQL.Add('where Student_Name='''+TJ_edit.Text+'''');
       end else
           if XHCX.Checked then
           begin
             Main_Query.SQL.add('select Ssqk.lph,Ssqk.Qsbh,Ssqk.Cwh,XSQK.Student_Name,XSQK.Student_id,XSQK.Sex,XSQK.Age,XSQK.JG from XSQK,Ssqk');
             Main_Query.SQL.Add('where XSQK.Student_Id='''+TJ_edit.Text+'''');
           end else
             showmessage('请选择查询条件!');
    to楼上的,我照你说的写了,还是不能实现输入查询条件下面显示对应记录呀!帮忙了
      

  6.   

    这个问题用distinct可以解决的,你可以先调试再写
      

  7.   

    代码是没错的
    在SQL中执行
    select SSQK.Studnet_name,SSQK.Cwh,SSQK.Lph,SSQK.qsbh,XSQK.Student_id,XSQK.Sex,
          XSQK.age,XSQK.JG,XSQK.NL 
    From SSQK
    inner join XSQK
    ON XSQK.Student_name=SSQK.Student_Name;
    就会显示重复的学生姓名记录,情问怎么不显示重复的!