A. sql语句:现有一个竞价结果数据表,如何从数据中找出所有竞价物的中标情况逻辑就是竞价物的最高价。
可以用 (竞价物,竞价) in ((a,最高价1),(b,最高价2),(c,最高价3))
B. 竞价查询SQL语句
下面的方法是我经过测试后的方法,可以实现你的目的,请耐心看完。
*****************************************
存储过程实现法:
*****************************************
一:建立存储过程
create proc tmp_proc
@keyWords varchar(100)
as
select A.id,A.ProctName,B.keyWord,B.Price
from Procts A inner join Bidding B on A.id=B.ProctId
where keyWord = @keyWords;
二:调用存储过程
execute tmp_proc 关键字;
说明:这样的做出来唯一【Procts.id】前提是你的每一个商品的竞价记录中的【keyWord】不同。(当然这个在你的描述中可以看出已经满足了,可以放心使用了)
*****************************************
视图实现法:
*****************************************
一:想达到这个要求的话,建一个视图就可以了,根据你的解释我了解到下面几个特点。
1、产品表是表示产品的表,一种产品在这个表中只有一条数据
2、竞价表是表示产品竞价的表,一种产品由于竞价不同可以出现多条数据
3、所以则两个表就是以对多的关系,如果把这两个表相关联的话,就一定会出现【合成表】中出现重复【Procts.id】的情况,除非对于相同产品的每一条竞价信息【keyWord】字段是不同的。
4、分析完上面的1~3后,发现你的描述恰好符合,因此先做成下面的视图(不要期望直接让这个视图直接达到你的效果,它里面一定是有重复数据的,看看上面的分析1和2)
create view tmp_view as
select A.id,A.ProctName,B.keyWord,B.Price
from Procts A inner join Bidding B on A.id=B.ProctId;
二:再以这个视图作为检索基础,加上限制条件
select * from tmp_view where keyWord = '你想检索的关键字';
*****************************************
直接实现法:
*****************************************
视图也好存储过程也好,最终都是执行sql语句,你可以直接把它写出来执行,如下:
create view tmp_view as
select A.id,A.ProctName,B.keyWord,B.Price
from Procts A inner join Bidding B on A.id=B.ProctId
and B.keyWord = '你想检索的关键字';
---
以上,希望对你有所帮助。
C. SQL 用查询结果作为表名,进行查询怎么弄
查询后有一个结果集,遍历结果集取出你要查的对象。
你用ID查出你存的字符串(这里你存的是其他表名),返回的结果集是一条记录。
while(rs.next()){//rs.next()方法是个游标指针
Stringshow=rs.getString("tablename");//方法的参数是你数据库列名,因为你要返回该列名的数据
}
D. 如何用一段SQL如何实现广告竞价排序
可以通过两个表的关系,然后通过字段关联的形式排序。sql:select t1.* from tablename1 t1, tablename2 t2 wehere t1.id=t2.id order by t2.name;解释:实际上上面语句会通过 tablename2表的name字段先排序表tablename2数据,之后会通过id字段关联后,读取出id存在于tablename2表中存在的tablename1表的数据。备注:上面表中的id字段的值肯定有相同的,如tablename1和 tablename2 表中id字段都存在值“1”,才可以有结果输出。如果两个表都没关联的话,无法实现。
E. SQL查询结果的临时表里的数据导出成文件(Excel,或是数据库文件)的命令。
如果是命令的话
直接用select之类的T-SQL好象不行。
不过可以用bcp导出文本
比如
exec
master.dbo.xp_cmdshell
'bcp
"select
*
from
表"
queryout
"c:\结果.txt"
-c
-T'
bcp是SQL
SERVER的一个命令行工具,可以查看SQL
SERVER帮助查看具体用法