第一条SQL语句 select MANAGER from Department where DEPT_ID in (select DEPT_ID from [User] where [USER_ID]='lisi') 第二条SQL语句 select * from Diary where [USER_ID] in ('第一条SQL语句') ----括号里是字符串
解决方案 »
- 怎么实现在层中插入图片!
- UpdatePanel控件中布置其他需要局部刷新的控件,例如GridView,怎么可以放在想要的任何位置呢?
- 使用ObjectDataSource和GridView 分页的困惑
- MS官方的ASP.Net AJAX 1.0怎么用,简单的联动?
- datagrid中动态更改列的datafield属性
- 我用HttpWebRequest对象,可以获取网页URL资源的代码,请问我可以只获取网页头几行代码就中断吗?因为全部获取太浪费时间了。
- JS实现的3级dropdownlist,可以联动,但无法获取所选的值。在线等。
- 帮我看下这段程序的问题
- 500分求教!如何在asp.net中上传一个目录?
- DataGrid 用鼠标拖动改变列宽,怎么做?
- 验证视图状态 MAC 失败。
- Crystal Report 2008打印慢
)
你直接这样查不出结果么?
子查询,只要你第一个查询的结果是正确的,那么这样就不会有错
每个子查询你要去试试是不是都是你想要的那个结果。
一个套一个结果自然就出来了
select * from Diary where [USER_ID] in('') 里面是字符串 不能这么写
set @str1 = 'select MANAGER from Department where DEPT_ID in (select DEPT_ID from [User] where [USER_ID]=''lisi'')'declare @str2set @str2 = 'select * from Diary where [USER_ID] in (' + @str1 + ')'exec(@str2)这个意思??
ex: declare @str2 varchar(50)
DROP TABLE UDepartment---部门表
CREATE TABLE UDepartment
(
DEPT_ID INT PRIMARY KEY NOT NULL,
DEPT_Name VARCHAR(30),
MANAGER VARCHAR(30)
)
INSERT INTO UDepartment
SELECT 1,'A','M1' UNION ALL
SELECT 2,'B','M2' UNION ALL
SELECT 3,'C','M3'SELECT * FROM UDepartment
/*
DEPT_ID DEPT_Name MANAGER
----------- ------------------------------ ------------------------------
1 A M1
2 B M2
3 C M3(3 行受影响)
*/
IF OBJECT_ID('[User]') IS NOT NULL
DROP TABLE [User]
CREATE TABLE [User]
(
[USER_ID] VARCHAR(20) PRIMARY KEY NOT NULL,
DEPT_ID INT FOREIGN KEY REFERENCES UDepartment(DEPT_ID),
[USER_Name] VARCHAR(30)
)
INSERT INTO [User]
SELECT 'lisi',1,'U1' UNION ALL
SELECT 'zhangsan',2,'U2' UNION ALL
SELECT 'wangwu',3,'U3'
SELECT * FROM [User]
/*
USER_ID DEPT_ID USER_Name
-------------------- ----------- ------------------------------
lisi 1 U1
wangwu 3 U3
zhangsan 2 U2(3 行受影响)
*/
IF OBJECT_ID('Diary') IS NOT NULL
DROP TABLE Diary
CREATE TABLE Diary
(
Diary_ID INT PRIMARY KEY NOT NULL,
MANAGER VARCHAR(30),
[USER_ID] VARCHAR(20) FOREIGN KEY REFERENCES [User]([USER_ID])
)
INSERT INTO Diary
SELECT 1,'M1','lisi' UNION ALL
SELECT 2,'M2','zhangsan' UNION ALL
SELECT 3,'M3','wangwu'
SELECT * FROM Diary
/*
Diary_ID MANAGER USER_ID
----------- ------------------------------ --------------------
1 M1 lisi
2 M2 zhangsan
3 M3 wangwu(3 行受影响)
*/
--操作
declare @str1 VARCHAR(50)
set @str1=(SELECT MANAGER FROM UDepartment where DEPT_ID in (select DEPT_ID from [User] where [USER_ID]='lisi'))
PRINT @str1
select * from Diary where MANAGER in (@str1)
/*
Diary_ID MANAGER USER_ID
----------- ------------------------------ --------------------
1 M1 lisi(1 行受影响)
*/