有人能告訴我如何組合兩條SQL語句來計算消息的數量和未讀消息的數量?其無效的兩個有兩個陳述,但我不知道要尋找什麼來尋找答案。提前致謝。從存儲過程中檢索兩個值
CREATE PROCEDURE dbo.GetMessages (
@username nchar(12),
@isCount bit,
@message_count int OUTPUT,
@unread_message_count int OUTPUT
) AS
IF @isCount = 1
BEGIN
SET @message_count =
(
SELECT COUNT(*)
FROM messages
WHERE usernameTo = @username
)
SET @unread_message_count =
(
SELECT COUNT(*)
FROM messages
WHERE usernameTo = @username AND message_read = 1
)
END
ELSE
BEGIN
SELECT *
FROM messages
WHERE usernameTo = @username
END
此過程基於一個參數的值返回非常不同的結果。這應該是兩個程序,而不是一個。如果這是應用程序的構建過程,我很害怕這個應用程序的其餘設計。 – Welbog 2009-09-22 12:22:54
SQL不是我的專長,它對朋友網站有利。不需要優雅。 – 2009-09-22 12:27:33
我不得不同意Welbog 110%。這是一個非常糟糕的設計!這會在稍後出現。 – 2009-09-22 12:28:47