我確信我必須在這裏犯一個小錯誤,但我一直在尋找幫助解決這個問題,我能找到的所有信息都是有條件的INNER JOIN。帶有WHERE條件和INNER JOIN的SELECT命令
<編輯>問題是這個存儲過程根本沒有返回任何東西。如果我只輸入:
SELECT TOP (6) UserID, Category, Title, SUBSTRING(Article, 0, 200) AS Summary, DatePosted
FROM ContribContent
WHERE (DateFeatured IS NOT NULL)
ORDER BY DateFeatured DESC
進入控制檯,然後返回值。所以它必須與內部連接有關? < /編輯>
的想法是:
- 走哪已精選 內容(DateFeatured爲NOT NULL) ,並把它所有到一個臨時 表
- 得到用戶名和圖片,並使用UserID值將它們與臨時表中的值進行匹配。
- 按照每個帖子的特色日期順序對臨時表進行排序。
- 從表中選擇
這裏前六名項是代碼:
ALTER PROCEDURE [dbo].[admin_GetFeaturedContrib]
AS
BEGIN
DECLARE @FeaturedContrib TABLE (
UserID INT,
Category INT,
Title varchar(100),
Summary varchar(200),
DatePosted date,
FirstName varchar(50),
LastName varchar(50),
Picture varchar(100)
)
INSERT INTO @FeaturedContrib
SELECT TOP 6 ContribContent.UserID, ContribContent.Category, ContribContent.Title, SUBSTRING(ContribContent.Article, 0, 200) AS Summary, ContribContent.DatePosted, Users.FirstName, Users.LastName, Users.Picture
FROM ContribContent
INNER JOIN Users
ON ContribContent.UserID = Users.UserID
WHERE ContribContent.DateFeatured IS NOT NULL
ORDER BY ContribContent.DateFeatured DESC
SELECT * FROM @FeaturedContrib
END
主要涉及兩個數據表:
用戶 - 表中存儲的所有用戶和他們的信息。
- 用戶ID INT
- 姓VARCHAR(50)
- 姓氏VARCHAR(50)
- 圖片VARCHAR(50)
- 等...
ContribContent
- ContribContentID INT
- 用戶ID INT
- 類別INT
- 標題爲varchar(100)
- 文章VARCHAR(MAX)
- 圖片VARCHAR(50)
- DatePosted日期
- DateFeatured日期
- 刪除位
感謝給任何人誰可以幫忙!只有
而問題是......? – 2010-11-01 17:02:54
Drumroll ........ – Vishal 2010-11-01 17:07:34
哇,這是我的愚蠢..對不起啊哈,只是做了一個編輯。 – mitchellbutler 2010-11-01 17:08:02