CREATE
PROCEDURE
dboFindString
@string
NVARCHAR(100)
AS
DECLARE
@SQL
NVARCHAR(4000);
SET
@SQL
=
N'
DECLARE
@str
NVARCHAR(4000);
SELECT
@str
=
ISNULL(@str
+
N''
OR
''
+
cname
+
N''
LIKE
N''''%'
+
@string
+
'
%'''''',
cname
+
N''
LIKE
N''''%'
+
@string
+'%'''''')
FROM
syscolumns
AS
c
JOIN
systypes
AS
t
ON
cid=OBJECT_ID('''')
AND
cxtype=txtype
AND
tname
IN(''varchar'',''char'',''nvarchar'',''nchar'');
SET
@str
=
''SELECT
TOP
1
1
FROM
WHERE
''+@str;
CREATE
TABLE
#tb(a
int);
INSERT
#tb(a)
EXEC(@str);
IF
EXISTS(SELECT
FROM
#tb)
''''
';
EXEC
sp_MsforeachTable
@SQL;
GO
试试这个,或许可行
select from accuont where VIP = 1
//上面的1 是在你表中的类型为数字类型的时候
select from accuont where VIP='1'
//上面的1 是在你表中的类型为非数字类型的时候
第一个:查询下拉框的选项
select aName,aID form TBMenu a where aIsUsed=1
查询Name和ID: Name为显示文字,ID用于在选择这个选项后根据ID值进行下一步的查询
在你后台执行SQL的时候返回一个dateset 然后用combobox的datasuoce绑定,怎么绑需要自己找例子,很好的学习过程。
第二个:根据选择的菜单查询需要的信息
select from Infomations a where aMenuID=ID(选择下拉框选项对应的ID值)
在下拉框中选择“主食”,点击查询按钮,肯定是要查询和主食相关的数据,那就通过主食对应的ID(也就是下拉框绑定的时候查询的ID)去数据库对应的关联表中查询对应的信息。
这个地方你没有描述清楚你想实现的效果所以,根据你在上面补充的内容推测出的这些东西。
任何一种关系型数据库都不可能用SQL语句实现这种查询,因为你不知道表名和列名。
理论上用程序或存储过程遍历数据库中所有表和所有列,用表数×列数个SQL语句,可以实现你要的结果。不过有可能会查到很多表很多列都有匹配的数据行,如何确定哪张表哪列,就没有办法了。
以上就是关于如何模糊查找的SQL数据库表中的内容全部的内容,包括:如何模糊查找的SQL数据库表中的内容、怎样查询SQL数据库中某一个表中的某个列的一个数值的所有行数据、sql 如何查询一个数值在数据库的哪个表中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)