A表
pact_id pact_name user_id(签约人)
1 XX经济合同 1
2 XX民事合同 2
3 XX保密合同 1
... ...
B表
user_id user_name user_dept
1 小王 市场部
2 朱强 开发部
3 小伍 美工部
... ... ...
现在我想实现这样的搜索
按user_id(签约人)所在的部门查询A表中的数据,请问如何写SQL?
谢谢各位大侠
pact_id pact_name user_id(签约人)
1 XX经济合同 1
2 XX民事合同 2
3 XX保密合同 1
... ...
B表
user_id user_name user_dept
1 小王 市场部
2 朱强 开发部
3 小伍 美工部
... ... ...
现在我想实现这样的搜索
按user_id(签约人)所在的部门查询A表中的数据,请问如何写SQL?
谢谢各位大侠
from a
where user_id in
(
select user_id
from b
where user_dept in (
select user_dept
from b
where [user_id]=1)
)
declare @sql nvarchar(4000)
SET @SQL2 =''
if (@user_dept<>0)
SET @sql2 = @sql2+ 'and b.user_dept ='+Convert(varchar(5),@user_dept)+''
SET @SQL ='SELECT A.*,
FROM B表 B INNER JOIN A表 A on a.user_id = b.user_id
where pact_id not in (select top ' + cast((15*(@intCurrentPageIndex-1)) as varchar(10))+' pact_id from A表 A where 1=1' +@sql2+' order by pact_id desc)' +@sql2+' order by pact_id desc'
这样虽然能实现按部门查询,但翻页时,就会出现查询条数错误的情况.
把execute(@SQL) 变成 print(@SQL)然后执行先看看