码迷,mamicode.com
首页 > 其他好文 > 详细

存储过程

时间:2014-07-09 18:15:45      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   2014   line   

USE [MainDb]
GO
/****** Object:  StoredProcedure [dbo].[ccChatOnLineByCaMainIDSelect]    Script Date: 07/08/2014 16:33:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-------------------------------
--Andy.Yin 2014-06-26
--获取企业的15日内联系人列表,或者曾经有留言的的联系人
-------------------------------

ALTER PROCEDURE [dbo].[ccChatOnLineByCaMainIDSelect]
    @CaMainID INT    --企业用户的ID
AS
BEGIN
    
    CREATE TABLE #UserList
    (
        ChatOnlineID INT,
        CaMainID INT,
        CvMainID INT,
        LastChatDate SMALLDATETIME,
        SumUnRead INT,
        IsHidden BIT    
    )
    --企业的联系人列表,有留言的
    INSERT INTO #UserList
        SELECT 
            MAX(a.ID),
            a.CaMainID,
            a.CvMainID,
            MAX(b.Adddate),
            COUNT(1),
            0
        FROM ChatOnline a, ChatOnlineLog b
        WHERE a.id = b.ChatOnlineID
            AND b.IsViewed = 0
            AND b.SenderType <> 1 --不是企业发送的
            AND a.caMainId = @CaMainID --当前企业用户
        GROUP BY a.CaMainID, a.CvMainID

    --企业联系列表,15天有联系的
    INSERT INTO #UserList    
        SELECT 
            MAX(ID),
            CaMainID,
            CvMainID,
            (SELECT MAX(Adddate) FROM ChatOnlineLog WHERE ChatOnlineLog.ChatOnlineID IN(SELECT ID FROM ChatOnline a WHERE a.cvMainID = ChatOnline.cvMainID AND a.caMainID = ChatOnline.caMainID)),
            0,
            0
        FROM ChatOnline
        WHERE caMainId = @CaMainID --当前企业用户
            AND AddDate > GETDATE() - 15
            AND NOT EXISTS(SELECT X FROM #UserList b WHERE b.cvMainID = ChatOnline.cvMainID AND b.caMainID = ChatOnline.caMainID)
        GROUP BY CaMainID,CvMainID
    
    --企业联系列表,15之外曾有联系的,隐藏不显示
    INSERT INTO #UserList    
        SELECT 
            MAX(ID),
            CaMainID,
            CvMainID,
            (SELECT MAX(Adddate) FROM ChatOnlineLog WHERE ChatOnlineLog.ChatOnlineID IN(SELECT ID FROM ChatOnline a WHERE a.cvMainID = ChatOnline.cvMainID AND a.caMainID = ChatOnline.caMainID)),
            0,
            1
        FROM ChatOnline
        WHERE caMainId = @CaMainID --当前企业用户
            AND AddDate < GETDATE() - 15
            AND NOT EXISTS(SELECT X FROM #UserList b WHERE b.cvMainID = ChatOnline.cvMainID AND b.caMainID = ChatOnline.caMainID)
        GROUP BY CaMainID,CvMainID

    --最终结果
    SELECT 
        a.*,
        b.Name PaName,
        b.ID PaMainID,        
        c.Name UserName,
        dbo.GetPaOnlineStatus(a.cvMainID) IsOnline
    FROM #UserList a, PaMain b, cvMain c
    WHERE a.cvMainID = c.ID
        AND b.ID = c.paMainID
    ORDER BY a.LastChatDate DESC
    
    DROP TABLE #UserList
END

 

存储过程,布布扣,bubuko.com

存储过程

标签:des   style   blog   color   2014   line   

原文地址:http://www.cnblogs.com/ustcyc/p/3831779.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!