本文介紹了限制從聯(lián)合查詢返回的行的最有效方法 - TSQL的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我有一個(gè)簡(jiǎn)單的存儲(chǔ)過(guò)程,其中包含兩個(gè)與聯(lián)合連接的查詢:
I have a simple stored proc with two queries joined with a union:
select name as 'result'
from product
where...
union
select productNum as 'result'
from product
where...
我想將此限制在前 10 個(gè)結(jié)果中.
I want to limit this to the TOP 10 results.
如果我將 TOP 10 放在每個(gè)單獨(dú)的查詢中,我總共會(huì)得到 20 個(gè)結(jié)果.
If I put TOP 10 in each seperate query I get 20 results total.
將總結(jié)果限制為 10 的最有效方法是什么?我不想在每個(gè)都做前 5 名,因?yàn)槲铱赡茏罱K會(huì)遇到類似 7 個(gè)名字"的情況.和 3 個(gè)產(chǎn)品編號(hào)".
What is the most efficient way to limit total results to 10? I dont want to do TOP 5 in each because I may end up in a situation where I have something like 7 "names" and 3 "productsNumbers".
推薦答案
WITH Results (Result)
AS
(
select name as 'result'
from product
where...
union
select productNum as 'result'
from product
where...
)
SELECT TOP 10 * FROM Results
常用表表達(dá)式
這篇關(guān)于限制從聯(lián)合查詢返回的行的最有效方法 - TSQL的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!
【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!