sqlselectfrom資料表where變數in欄位名

2021-12-29 02:24:50 字數 1790 閱讀 5612

1樓:匿名使用者

方法1這個需要些儲存過程來實現

大致的思路是這樣的

1 遍歷表的列名

2 將資料存入零時表1中

3 按照查出來的列名迴圈從零時表中查詢這列中是不是有你要的那個資料,有的話,這條資料保留

4 查出的資料存入零時表2中,並且從零時表1中刪除5 零時表2中的內容就是你所要的所有資料

每一步關鍵點說明

1 遍歷的話給乙個小例子

select name from syscolumns where id = object_id(』表名』)

2 略。

3 需要開游標(這個網上很多)

ps:如果字段比較少的話,你可以不用寫迴圈,直接羅列就可以了4 就是3的insert操作變成delete5 得到結果

方法2據例子說明

如第一條記錄是1,2,3,4

第二條記錄是2,3

第三條記錄是1

第四條記錄是1,3

給每條記錄上乙個識別字

建立乙個零時表2個字段 sysid columvalues將每列的值和這列的識別字分別插入

內容如r1 1

r1 2

r1 3

r1 4

r2 2

r2 3

r3 1

r4 1

r4 3

然後查詢這個表獲得內容columvalues是1的行識別字(distict一下)

然後。。應該很清楚了八:)

2樓:匿名使用者

用charindex函式:

a1="1"

sql="select * from 資料表 where '"&a1&"' in(欄位名)"

成 a1="1"

select * from 資料表 where欄位名 in

( select 欄位名 from 資料表 where charindex(a1,欄位名)>0

)in語句的用法樓主需要熟悉一下,否則你不能熟練正確地運用in語句

3樓:匿名使用者

sql="select * from 資料表 where 欄位名 like '*"&a1&"*' and 欄位名欄位名 not like '*"&a1&"[0-9]*'"試試

4樓:

select* from 表名where 欄位名like '%變數名%'

我要寫乙個sql查詢語句,select * from table where id in ('a','b','c','d');

5樓:匿名使用者

declare @

權val varchar(100)=''

declare @sql varchar(max)set @val='''a'''+','+'''b'''+','+'''c'''+','+'''d'''

set @sql='select * from tb where id in ('+@val+')'

print @sql

exec (@sql)

6樓:丘位元灬憶殤

string sql = "select * from table where id in ()";

string ids = "";

foreach(var item in list)ids = ids.substring(1);

sql = string.formart(sql,ids);

在資料結構中資料 資料元素 資料物件 資料結構 儲存結構 數

資料 是能輸入到計算機中並能被計算機程式處理的符號的總稱。資料元素 是資料的基本單位,它在計算機處理和程式設計中通常作為一個整體進行考慮和處理。一個資料元素可由若干資料項組成。資料物件 是具有相同特徵的資料元素的集合,是資料的一個子集。資料結構 是資料元素的組織形式,或資料元素相互之間存在一種或多種...

什麼是資料庫的元資料,元資料庫是什麼 與資料庫有何區別

按照傳統的定義,元資料 metadata 是關於資料的資料。在資料倉儲系統中,元資料可以幫助資料倉儲管理員和資料倉儲的開發人員非常方便地找到他們所關心的資料 元資料是描述資料倉儲內資料的結構和建立方法的資料,可將其按用途的不同分為兩類 技術元資料 technical metadata 和業務元資料 ...

資料包和資料包的區別,報文,資料包,資料包三者的區別

可以叫我表哥 資料傳送時,由上層向下層封裝。四層,協議層傳輸的是資料包文,主要是協議格式 三層,網路層傳輸的是資料包,包含資料包文,並且增加傳輸使用的ip地址等三層資訊 二層,資料鏈路層傳輸的是資料幀,包含資料包,並且增加相應mac地址與二層資訊。資料接收的時候,下層向上層解封裝。具體區別就是所工作...