SELECT Table1.DateTime,Table1.Province,Table1.Time Table1.Money,Table1.GiveMoney, (SELECT SUM(Minute) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS SMinute //这里怎么没有“,” (SELECT SUM(fee) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS sfee //这里也没有“,” ((sfee-tabel1.givemoney)/sfee)*100 as 差异率 FROM Table1 看看表结构可以吗?
adoquery.sql.add('SELECT Table1.DateTime,Table1.Province,Table1.Time Table1.Money,Table1.GiveMoney,'); adoquery.sql.add('(SELECT SUM(Minute) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS SMinute, '); //逗号 adoquery.sql.add('(SELECT SUM(fee) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS sfee, '); //逗号 adoquery.SQL.Add('((sfee-tabel1.givemoney)/sfee)*100 as 差异率');//
adoquery.sql.add('SELECT Table1.DateTime,Table1.Province,Table1.Time Table1.Money,Table1.GiveMoney,'); adoquery.sql.add('(SELECT SUM(Minute) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS SMinute, '); //逗号 adoquery.sql.add('(SELECT SUM(fee) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS sfee, '); //逗号 adoquery.SQL.Add('((sfee-tabel1.givemoney)/sfee)*100 as 差异率');//
SELECT Table1.DateTime,Table1.Province,Table1.Time //这里也没有“,” Table1.Money,Table1.GiveMoney, (SELECT SUM(Minute) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS SMinute //这里怎么没有“,” (SELECT SUM(fee) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS sfee //这里也没有“,” ((sfee-tabel1.givemoney)/sfee)*100 as 差异率 FROM Table1 看看表结构可以吗?
象你写的这么乱,真是恐怖,你把sql.text放在一个memo1里仔细看看嘛你的sql: SELECT Table1.DateTime, Table1.Province, Table1.Time Table1.Money, Table1.GiveMoney, (SELECT SUM(Minute) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS SMinute (SELECT SUM(fee) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS sfee((sfee - tabel1.givemoney) / sfee) * 100 AS 差异率 FROM Table1 你自己看看你能不能看得懂
试过了,还是不成,说列无效!
as后面的不能直接在sql中使用,
你可以作一个最小的例子就知道了
建议你把它作成存储过程,然后存储过程,
先执行select,先让你要计算的值为空,然后在执行一句update在改一次应该就可以了。
(SELECT SUM(Minute) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS SMinute //这里怎么没有“,”
(SELECT SUM(fee) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS sfee //这里也没有“,”
((sfee-tabel1.givemoney)/sfee)*100 as 差异率 FROM Table1
看看表结构可以吗?
adoquery.sql.add('(SELECT SUM(Minute) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS SMinute, '); //逗号
adoquery.sql.add('(SELECT SUM(fee) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS sfee, '); //逗号
adoquery.SQL.Add('((sfee-tabel1.givemoney)/sfee)*100 as 差异率');//
adoquery.sql.add('(SELECT SUM(Minute) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS SMinute, '); //逗号
adoquery.sql.add('(SELECT SUM(fee) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS sfee, '); //逗号
adoquery.SQL.Add('((sfee-tabel1.givemoney)/sfee)*100 as 差异率');//
(SELECT SUM(Minute) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS SMinute //这里怎么没有“,”
(SELECT SUM(fee) FROM Table2 WHERE Table1.area = Table2.area AND table1.province = table2.province AND table1.datetime = table2.datetime) AS sfee //这里也没有“,”
((sfee-tabel1.givemoney)/sfee)*100 as 差异率 FROM Table1
看看表结构可以吗?
SELECT Table1.DateTime, Table1.Province, Table1.Time Table1.Money,
Table1.GiveMoney,
(SELECT SUM(Minute)
FROM Table2
WHERE Table1.area = Table2.area AND table1.province = table2.province AND
table1.datetime = table2.datetime) AS SMinute
(SELECT SUM(fee)
FROM Table2
WHERE Table1.area = Table2.area AND table1.province = table2.province AND
table1.datetime = table2.datetime) AS sfee((sfee - tabel1.givemoney) / sfee)
* 100 AS 差异率
FROM Table1
你自己看看你能不能看得懂
表结构到:
http://www.csdn.net/Expert/TopicView1.asp?id=858403