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幫助查看具體用法