请教高手!怎么写这样的SQL语句?(100分)

  • 主题发起人 主题发起人 yzheng
  • 开始时间 开始时间
Y

yzheng

Unregistered / Unconfirmed
GUEST, unregistred user!
表一
ID A my
1 5 A
2 6 B
3 7 C
表二
ID B
1 坏
2 好

请教!如何写表一A.6减A.5得到表二‘坏’和表一A.7减A.5得到表二‘好’这样的SQL语句?
 
忘加了重要的一句,在EDIT1.text中写入:65或75在MEMO1.text中显示坏或好。
 
写清楚点好不好,
 
对不起!俺底薄让人家看不懂。

表一
ID A my
1 5 A
2 6 B
3 7 C
表二
ID B
1 坏
2 好
如何写在EDIT1.text中写入:65或75在MEMO1.text中显示坏或好的语句?

 
var
a1,a2:char;
a1:=edit1.text[1];
a2:=edit2,text[2];

sql := 'select b from 表二 where id = '+a1+'-'+a2;
query1.close
query1.sql.clear;
query1.sql.add(sql);
query1.open;
memo1.lines.add(query1.fields[0].asstring);
 
老实说,还是不懂,我弱智?不像啊。你在说一遍好不好?
 
我也不太明白,不知这样能否符合你的要求。
假设id是integer;

query1.close
query1.sql.clear;
query1.sql.add('PARAMETERS a1 string;')
query1.sql.add(' select b from 表二 where id =cast(SUBSTRING(:a1 FROM 1 FOR 1) as long)-cast(SUBSTRING(:a1 FROM 2 FOR 1) as long) ');
Query1.Params[0].AsString := Edit1.Text;
query1.open;

memo1.lines.clear;
memo1.lines.add(query1.fields[0].asstring);
 
实验失败!我说的是在一个EDIT里输入,newyj的代码需要两个EDIT输入,可以查询但不知
为什么是20-10=1,30-10=2对应表二ID?为什么不是2-1=1,3-1=2对应表二ID?
实验失败!LzLiang的代码不知错在那里,求教!
 
faint
我觉得newyj的代码是对的,只不过他笔误了
a2:=edit1.text[2];
不过他的SQL语句:
sql := 'select b from 表二 where id = '+a1+'-'+a2;
不知道是否是(我没有实验):
sql := 'select b from 表二 where id = '''+a1+'-'+a2+'';
好久没有用delphi了,不知道对不对?
 
求教路遥遥!我需要一个在一个EDIT里输入查询条件,在后台进行加减在MEMO里显示
结果的例子学习。(需要两个表查询的)
 
'select b from 表二 where id ='+copy(Edit1.Text,1,1)+'-'+copy(Edit1.Text,2,1)'
 
谢谢大家!
 
后退
顶部