sql兩個欄位in
❶ 關於sql中IN 的用方法
你是說每個欄位的值有可能是:1,2,3形式?然後要查找其中一個值是否在裡面?
形式是不是?:
b欄位
1,2,3
3,4,8
3,45
如果是可以用下面這個查詢(查詢b列中包括5值的記錄):
select
A
from
taba
where
b
IS
NOT
NULL
AND
CHARINDEX('5',
b)>0
否則,如果是要查找某一列是否存在某一個值的話,直接用IN就可以做到喲。
比如查詢某列是否存在5
select
A
from
taba
where
b
IS
NOT
NULL
AND
b=5
如果你的列是單個值,而你想要判斷某列的值是否在指定的值中,你的值形式為:1,2,3,4
如果你想查詢b欄位中值是否包括在1,2,3,4中,用下面語句
select
A
from
taba
where
b
IS
NOT
NULL
AND
CHARINDEX(b,'1,2,3,4')>0
你可以試試,還是不太明白。
========================================
不太明白意思喲。能把數據類型,格式說下不?int?
是一條記錄裡面某個欄位有多個值呢,還是某列的全部記錄有多個值呢?
如果是第一種情況,先轉換成欄位串,然後用CHARINDEX或PATINDEX判斷是否存在某個值就可以了,如果是第二種情況用聯合查詢。
❷ sql查詢按兩個欄位查詢重復記錄
用關鍵字 stinct,select stinct 欄位,是不重復的意思。代碼的實例如下:
查詢order_id和loan_lind兩個欄位相同的記錄:
select distinct a.order_preview_id, a.order_id, a.loan_kind
from ddk_order_preview_info a
join ddk_order_preview_info b
on a.order_preview_id != b.order_preview_id
where a.order_id = b.order_id and a.loan_kind = b.loan_kind;
(2)sql兩個欄位in擴展閱讀
SQL資料庫查詢出一張表中重復的數據,按某個欄位來查找的實例:
例如表名為Course:
補充:
如:查詢每個姓名出現大於2次,SQL如下
SELECT COUNT(NAME) as '出現次數', NAME FROM 表名
GROUP BY NAME HAVING count(NAME) > 2 ORDER BY 出現次數 DESC
❸ SQL語句中in是否只能作用於一個欄位而不能作用於多個欄位
where (a,b) in ( (1,2,3),('a','b','c') )
2個括弧