1.所有的表中:pe_usename是主键,有索引吗? 没有的话就建上
2.如果 pe_usename 在某个表中重复,就会产生记录不一致的情况
解决方案 »
- 要进行下列变换,不知道怎么实现
- case when 好像不起作用了
- 存储过程问题
- 高难度的难题求助
- 你好,我是大力的马甲,我遇到了一个问题,来请教比"偶"高的高手,这个问题怎么做?????!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!~~~~!!!!!!!
- 100分!!能不能查询出一个数据库中所有表里的值有没有“产品”这个值?
- sql;用户和ID帐号的联系有什么呀,如何区分呀
- 请问:为什么我不能连接MSDERelA的数据服务!
- 看来看去应该这里懂得proc的人最多了,帮忙啊,不然我死了
- 【sql】修改表结构
- 为何用php提取mssql的日期值不能正常显示?
- SQL SERVER安装的问题!
1.所有表中,PE_USENAME是主键,也有索引。
2.那我应该怎么做?
PE_LOG里的也是有主键的呀。
如果是PE_USENAME的话,出现上述情况,表明你的索引坏了.
删除重新做
GOsp_dboption '你的数据库名', 'single user', 'true'
GoDBCC CHECKDB('你的数据库名', REPAIR_REBUILD)
GoUSE 你的数据库名
goexec sp_msforeachtable 'DBCC CHECKTABLE(''?'',REPAIR_REBUILD)'
exec sp_msforeachtable 'DBCC DBREINDEX(''?'')'
gosp_dboption '你的数据库名', 'single user', 'false'
Go
jiangchuandong(奋斗成男人) 用中间表又是怎么写?教教我。
CREATE PROCEDURE [SrcSearchAsName](@username varchar(30))
AS
SELECT
a.pe_usename,a.username,a.sex,a.sc_id,a.enroll_time,a.specialty1 as specialtyID,
a.edc_Level,a.last_update,
case
when a.birth is null or ltrim(rtrim(a.birth))='' then ''
else
datediff(yy,a.birth,getdate())
end
as Age,
--我在这想这找出B表的SCHOOLNAME.
--通过A.SC_ID和B.SC_ID相关联。
--最近得出的结果 AS UNIVERSITY
FROM
PE_ZONG A,SC_BASE B
WHERE
A.username like '%'+@username+'%'
order by a.username
AS
SELECT
a.pe_usename,a.username,a.sex,a.sc_id,a.enroll_time,a.specialty1 as specialtyID,
a.edc_Level,a.last_update,
case
when a.birth is null or ltrim(rtrim(a.birth))='' then ''
else
datediff(yy,a.birth,getdate())
end
as Age,
--我在这想这找出B表的SCHOOLNAME.
--通过A.SC_ID和B.SC_ID相关联。
--最近得出的结果 AS UNIVERSITY
(
select top 1 SCHOOLNAME from B表 --表名叫B表
where SC_ID=A.SC_ID
order by 日期 desc --最近是怎么算? 有个日期字段?
) as UNIVERSITY
-------------------------------------------------------------
FROM
PE_ZONG A,SC_BASE B
WHERE
A.username like '%'+@username+'%'
order by a.username
这个用不着啊,只要找出他对应的学校名称就可以了:)---------------------------
………………
-- AND(
-- @key='' OR
-- A.USERNAME LIKE '%'+@key+'%'
-- OR (A.SC_ID=B.SC_ID AND B.SCHOOL LIKE '%'+@key+'%')
-- OR A.TEL1 LIKE '%'+@key+'%'
-- OR A.TEL2 LIKE '%'+@key+'%'
-- OR A.EMAIL LIKE '%'+@key+'%')
…………这一段放在存储过程中执行起来很慢哦,因为是LIKE,又OR,还有什么办法吗?