我现在有两个表一个是学生情况,一个是宿舍情况
其中都有个学生姓名字段,我想点击查询则显示对应的记录,问题是如果我只是简单的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('请选择查询条件!');
其中都有个学生姓名字段,我想点击查询则显示对应的记录,问题是如果我只是简单的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('请选择查询条件!');
解决方案 »
- 对文本文件中的数据进行重新排列
- delphi一维数组有没有一个函数直接取出数组中最大值?
- 设计一个局域网里的数据库,和pos软件差不多,不过我接触过网络数据传输的问题,请高手们出出主意.
- 如何把DBGrid的数据在报表里打印、预览
- 在文本编辑框中如何对某些字符单独设置字体?
- 如何取得popupmenu中动态生成的项的caption。
- 时时监测串口?
- 怎样把一个文本内容比如RichEdit的内容(包括换行符、标点等等)存入/取出数据库?
- 在对象构建时重载有没有问题
- oracle存储过程中如何给传入的参数(字符串类型),参数前后自动加上单引号?
- 请帮助,如何实现从表中调用一行数据再填入另一个新表中。急急急急急急急急急急急
- 我在运用SQL语句时遇到了这个问题,大家快来给我出主意呀?:)
好像不可以的distinct
a,b,c;1,2,3分别是表的字段
select distinct Ssqk.*,XSQK.* from (XSQK Inner join Ssqk on xsqk.student_name=ssqk.student_name)
where Ssqk.Student_Name='''+TJ_edit.Text+''''
应该是select A.a,A.b,A.c,B.d,B.e from tableA A,Table B B where ......如果是不想显示重复的记录,就加一个distinct
select distinct ...... from .....
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楼上的,我照你说的写了,还是不能实现输入查询条件下面显示对应记录呀!帮忙了
在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;
就会显示重复的学生姓名记录,情问怎么不显示重复的!