㈠ 请教一个关于sql语句中in的相关问题
拜托,int [] cID 这个变量时。net程序里面的数组, sql=“”语句则是要放到sql2005这个dbms里面执行,他们两个是不同的系统怎么能直接写在sql里面??如果你要那样实现,应该先把cID这样的数组值先insert到一个临时表里面,然后在sql里面这样写
where id in (select cID from 临时表),
如果cID里面值不多,可以用拼字符串来实现,就是你说的那个意思,只是拼字符串的方法不对,应该是
for (i=0 ,i++ ,i<cID.length)
{sql_str1 = convertostring(cID[i]) +','+sql_str1} ;
sql="******* where id in (" + sql_str1 +")";
最后输出sql检查下,如果没问题就ok了
㈡ sql 查询语句in相关问题
外部的值是定死的吗,定死的话,sql文可以实现
SELECT
id
FROM
(SELECT
*
FROM
a
WHERE
a
=
1
UNION
ALL
SELECT
*
FROM
a
WHERE
b
=
10
UNION
ALL
SELECT
*
FROM
a
WHERE
c
=
3
UNION
ALL
SELECT
*
FROM
a
WHERE
d
=
6
UNION
ALL
SELECT
*
FROM
a
WHERE
e
=
5
UNION
ALL
SELECT
*
FROM
a
WHERE
f
=
9)
AS
table1
GROUP
BY
id
HAVING
COUNT(id)
>
2
mssql2005返回结果(你例子里错了)
id
----
1
2
3
不定死的话要写存储过程了,把1
10
3
6
5
9
换成相应的变量名即可
另外分页处理是写在程序里的吧
-----------------------------------------------------------
恩,不错的想法
mssql2005
SELECT
id,
name,
a,
b,
c,
d,
e,
f
FROM
a
WHERE
((CASE
WHEN
a
=
1
THEN
1
ELSE
0
END)
+
(CASE
WHEN
b
=
10
THEN
1
ELSE
0
END)
+
(CASE
WHEN
c
=
3
THEN
1
ELSE
0
END)
+
(CASE
WHEN
d
=
6
THEN
1
ELSE
0
END)
+
(CASE
WHEN
e
=
5
THEN
1
ELSE
0
END)
+
(CASE
WHEN
f
=
9
THEN
1
ELSE
0
END)
>
2)
㈢ sql中的in的问题
朋友,你可以在Request("id")值的前后加上”," 然后把 TagID 转成字符串前后也加上”,”,用like 进行匹配!
㈣ SQL语句中关于IN一个重要问题!急解决~~
基本上是正确的,但是文本在SQL中要用''进行标识.正确的写法应该如下:
delete * from [table] where aa in ('a','b','c','d')
也就是说name参数中的格式不对,试一下吧.
㈤ SQL语句,IN是包含多个条件的意思,有没有不包含多个条件的语法
not in ('1','2')
就是不包括 1 或 2 的意思了
㈥ SQL中关于In(变量)
declare @variable1
set @variable1=你赋的值
select t.* from [table] t where t.f1 in (@variable)
㈦ sql语句中in内为什么不能超过1000个值
你是在存储过程里用吗?用一个varchar的变量来做sql并执行?varchar最长是8000个字符。我估计你的语句超长了。 超长就被截断,自然会报错。
㈧ sql语句中in的用法
IN 操作符允许我们在 WHERE 子句中规定多个值。
SQL IN 语法:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
(8)sql语句中in包含的值应少于扩展阅读:
1、IN 与 = ANY 等价,均表示,变量在(子查询)列表之中,即 a IN (table B) 表示 a = ANY B.b
2、NOT IN 与 <> ALL 等价,而不等于<> ANY,前两者均表示,变量不在(子查询)列表之中,即 a NOT IN (table B) 表示 a <> ALL B.b。而如果a <> ANY B.b,则只要任意一个b<>a就true了。
3、IN 与 EXISTS 的性能区别主要来自,IN 会编列子查询的每行记录,然后再返回,而EXISTS 则只要遇到第一个满足条件的记录就马上返回。
㈨ sql语句中in的用法问题
IN的用法没有错,可能是数据里面没有'南京'的数据,或者你IN放的位置不对
㈩ “sql”语句中“in”怎么用
你这样构造in的范围不对。你这样是把in后面处理成一个字符串了。而in后面跟的应该是一个范围。
你可以自己写一个返回数据集的函数来将aa.ddid值处理成in的范围, 类似于:
假设函数: ft01(nvarchar(1000)) returns table tb (val int)。
那么, 这样更新里面子查询的in条件:
where id in (select val from ft01(aa.ddid))。
另外, 此解决方法只是从in条件上来说。