揭秘SQL Server開發(fā)中需要注意的十個問題(3)_Mssql數(shù)據(jù)庫教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:詳解數(shù)據(jù)庫導出成excel的sql語句INSERT INTO OPENROWSET('microsoft.jet.oledb.4.0','excel 8.0;hdr=yes;database=g:wgtz.xls;',sheet1$) SELECT * FROM aa
9、為行選擇創(chuàng)建一個腳本
想象一下這個表:
| prod_key item_key pack_key last_sale LM001 1029 AD100 2004/12/05 LM870 1029 AD100 2005/09/20 PE789 1030 BC400 2003/07/12 PE312 1030 BC400 2004/08/07 |
我想要選出哪些在item_key 和pack_key相等的情況下,日期比較大的那一行。換句話說,我想要:
| LM870 1029 AD100 2005/09/20 PE312 1030 BC400 2004/08/07 |
回答:
這個表有主鍵嗎?那樣的話查詢可能會容易些。不管怎么樣,我覺得你應該按照下面這樣:
| SELECT prod_key,item_key,pack_key,last_sale FROM (SELECT item_key,pack_key,MAX(last_sale) AS last_sale FROM tablex GROUP BY item_key,pack_key) AS MaxDateTable WHERE tablex.item_key = MaxDateTable.item_key AND tablex.pack_key = MaxDateTable.pack_key AND tablex.last_sale = MaxDateTable.last_sale |
10、列出沒有記錄的數(shù)據(jù)庫表
我創(chuàng)建了一個動態(tài)的SQL Server查詢來輸出表中行的數(shù)量。我的目標是列出在數(shù)據(jù)庫中沒有記錄的表。查詢?nèi)缦滤?
| declare @strsql varchar(100) declare @tablename varchar(50) @tablename=’table123′@strsql=’ select count(*) from ‘ + @tablename exec(@strsql) |
我得到了輸出,但是我無法把這個值存儲到變量中以備查看。
我想要這樣查看:
| /* @countvariable=0 print(@tablename)*/ |
還有其它的解決方法嗎?
回答:
你可以讓你的解決方案更加靈活一些,通過從sysobjects表中抓取表名:
| declare @strsql varchar(256) create table #emptytables (tablename varchar(128), table_rowcount int)select @strsql=’select distinct o.name as TableName, .rowcnt as Table_RowCount from sysobjects o inner join sysindexes x on o.id = x.id where x.rowcnt = 0 and o.type = ‘’U”’insert #emptytables (TableName, Table_rowcount) exec (@strsql) select * from #emptytables drop table #emptytables |
分享:從Access數(shù)據(jù)庫到SQL Server高手之前編寫軟件都是ASP+Access,由于看到SQL Server數(shù)據(jù)庫中的一些功能確實高過ACCESS,具體如下: 1、觸發(fā)器: 有了觸發(fā)器,也就是可以在增加一個數(shù)據(jù)的時候?qū){(diào)用一個過程來維護數(shù)據(jù)庫的完整性。 2、視圖: 這個是我對SQL Server最感興趣的一個功能,通過
相關Mssql數(shù)據(jù)庫教程:
- sql 語句練習與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復數(shù)據(jù)的幾個方法
- sql刪除重復數(shù)據(jù)的詳細方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請求檢索數(shù)據(jù) 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數(shù)的用法實例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- 探討SQL Server 2005的評價函數(shù)
- 關于Oracle數(shù)據(jù)庫與SQL Server數(shù)據(jù)庫鏡像的關系
- 解讀SQL Server 2005:數(shù)據(jù)類型最大值
- 怎樣使用SQLServer數(shù)據(jù)庫查詢累計值
- 給SQL Server 2008 安裝安全審計
- sqlserver2005自動創(chuàng)建數(shù)據(jù)表和自動添加某個字段索引
- SQL操作全集(部分是Mssql語句,不在access中使用)
- 解讀SQL Server查詢含有單引號數(shù)據(jù)的方法
- 為何把你的數(shù)據(jù)庫置于版本控制之下
- 關于sqlserver 2005 使用臨時表的問題( Invalid object name #temptb)
- 相關鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-揭秘SQL Server開發(fā)中需要注意的十個問題(3)
。