在MySQL中同時查找兩張表中的數(shù)據(jù)的示例
這個例子里面我們從兩個表中取出頭兩行,然后合并到一個表中。
在現(xiàn)實中我們常常會遇到這樣的情況,在一個數(shù)據(jù)庫中存在兩個表,假設表1儲存著公司個產(chǎn)品本季度銷售信息,表2儲存著公司本季度欠款金額情況。在一個頁面中我們想把這兩個信息顯示出來。通常的做法是在程序中進行兩次SQL查詢,返回兩個結(jié)果集,在分別顯示出來,非常麻煩。
下面是實現(xiàn)這個功能的代碼:
CREATE PROCEDURE test AS SET NOCOUNT ON --指示存儲過程不返回查詢影響的行數(shù) DECLARE @col1c varchar(20),@col2c varchar(20), @index int SET @index = 1 CREATE TABLE #tmptbl --創(chuàng)建一個臨時表,用于儲存我們的結(jié)果 ( colID int IDENTITY(1,1) PRIMARY KEY CLUSTERED, col1 varchar(20), col2 varchar(20) ) DECLARE cur1 CURSOR FOR SELECT TOP 2 customerid FROM orders DECLARE cur2 CURSOR FOR SELECT TOP 2 regiondescription FROM region OPEN cur1 OPEN cur2 FETCH cur2 INTO @col2c FETCH cur1 INTO @col1c WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO #tmptbl (col1, col2) VALUES (@col1c, @col2c) FETCH NEXT FROM cur1 INTO @col1c FETCH NEXT FROM cur2 INTO @col2c END CLOSE cur1 CLOSE cur2 DEALLOCATE cur1 DEALLOCATE cur2 SELECT * FROM #tmptbl DROP TABLE #tmptbl GO
說明:
@@FETCH_STATUS,返回被fetch語句執(zhí)行的最后游標狀態(tài)。
返回值:0-FETCH語句執(zhí)行成功
1-FETCH語句失敗,或此行不再結(jié)果集中。
2-被提取的行不存在。
相關文章
php后臺經(jīng)常提示無法連接mysql 刷新后又可以訪問的解決方法
這幾天有一臺MySQL數(shù)據(jù)庫服務器出現(xiàn)了頻繁的掉線情況,通過排查,并沒有排查出哪個網(wǎng)站被攻擊,百思不得其解中的時候,群里有個朋友說是因為微軟KB967723造成的,網(wǎng)上搜索了一下,果然很多人都是這樣的問題,都是windows系統(tǒng)下安裝的MySQL造成的2011-05-05Mysql的longblob字段插入數(shù)據(jù)問題解決
在使用mysql的過程中,有個問題就是mysql的優(yōu)化,mysql中l(wèi)ongblob字段在5.5版本中默認的為1M,需要解決問題的朋友可以參考下2014-01-01mysql使用left?join連接出現(xiàn)重復問題的記錄
這篇文章主要介紹了mysql使用left?join連接出現(xiàn)重復問題的記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03Mysql 直接查詢存儲的Json字符串中的數(shù)據(jù)
本文主要介紹了Mysql直接查詢存儲的Json字符串中的數(shù)據(jù),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02mysql建表報錯:invalid?default?value?for?'date'的解決方
最近遇到一個這樣的問題,出現(xiàn)了invalid default value for 'end_date'錯誤,所以下面這篇文章主要給大家介紹了關于mysql建表報錯:invalid?default?value?for?'date'的解決方法,需要的朋友可以參考下2022-12-12