久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

空 OR 匹配的 SQL 查詢 Where 子句(僅返回 1)?

SQL Query Where Clause for Null OR Match (only return 1)?(空 OR 匹配的 SQL 查詢 Where 子句(僅返回 1)?)
本文介紹了空 OR 匹配的 SQL 查詢 Where 子句(僅返回 1)?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我有一個表,其中的記錄結(jié)構(gòu)與此類似..

I have a table that has records with a structure similar to this..

ID 角色I(xiàn)D
1 空
2 15
3 16

ID RoleID
1 NULL
2 15
3 16

我寫了一個 where 子句來獲取如下記錄

I wrote a where clause to get records like the following

SELECT * from TableX 
WHERE (RoleID = 2 OR RoleID IS NULL)

這讓我得到了 "1,NULL" 的記錄

This gets me the record of "1,NULL"

但是如果我查詢

SELECT * from TableX 
WHERE (RoleID = 15 OR RoleID IS NULL)

我得到1,NULL"和2,15".

I get back "1,NULL" and "2,15".

有誰知道如何構(gòu)造一個選擇來只給我一條記錄?如果傳遞了 15,我只想要2,15",如果沒有匹配,我只想要1,NULL".

Does anyone know how to structure a select to give me only one record? I only want "2,15" if 15 was passed and "1,NULL" if there are no matches.

請注意,實際查詢包含更多的 where 子句,因此將自身嵌套在自身內(nèi)部將是一個非常大的查詢.

Note, the actual query has MANY more where clauses to it, so nesting itself inside itself would be a very big query.

推薦答案

SELECT TOP 1 with ORDER BY RoleID DESC 怎么樣

How about SELECT TOP 1 with ORDER BY RoleID DESC

這是一個工作示例.

declare @mytable table
(
    ID int null,
    RoleID int null
)
insert @mytable values
(1, null),
(2, 15),
(3, 1)

select TOP 1 * 
from @mytable 
WHERE (RoleID = 2 OR RoleID IS NULL)
order by RoleID desc


select top 1 * from @mytable 
WHERE (RoleID = 15 OR RoleID IS NULL)
order by RoleID desc

編輯(根據(jù)收到的評論進(jìn)行編輯)
請注意,Insert 語句僅適用于 SQL Server 2008.對于 2008 之前的版本,您必須將其拆分為單獨的插入.

Edit (edited based on comments received)
Note that the Insert statement works only for SQL Server 2008. For versions prior to 2008, you will have to break it into invidual inserts.

這篇關(guān)于空 OR 匹配的 SQL 查詢 Where 子句(僅返回 1)?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標(biāo)記轉(zhuǎn)換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創(chuàng)建視圖?)
Create calculated value based on calculated value inside previous row(根據(jù)前一行內(nèi)的計算值創(chuàng)建計算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發(fā)技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉(zhuǎn)換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 国产欧美在线视频 | 视频二区 | 毛片网络 | 国产精品久久久久久久久久 | 日韩中文一区二区三区 | 日韩二三区 | 日韩av免费在线观看 | 色噜噜狠狠色综合中国 | 久久精品99 | 成人福利网| 99tv成人影院 | 精品视频在线播放 | 黄网站免费在线看 | 日韩精品人成在线播放 | 特级做a爱片免费69 精品国产鲁一鲁一区二区张丽 | 91精品国产综合久久久久久丝袜 | 日本精品一区二区三区在线观看视频 | 国产美女一区二区三区 | 一区二区在线免费观看 | 久久久精品视频一区二区三区 | 韩日在线观看视频 | 国产999精品久久久久久 | 久久久久久久av | 精品久久久久久久久久久院品网 | 欧美一级艳情片免费观看 | 亚洲视频中文 | 国产一级在线视频 | 色吊丝2288sds中文字幕 | 久久久久久国产精品免费免费狐狸 | 国产精品99久久久久久大便 | 中文字幕在线免费观看 | 国产精品视频网站 | 国产人成精品一区二区三 | 好姑娘影视在线观看高清 | 国产成人精品999在线观看 | 欧美日韩视频在线第一区 | 伊人精品在线视频 | 久久狠狠 | 亚洲综合一区二区三区 | 日韩亚洲欧美一区 | 精品欧美乱码久久久久久 |