我确信我必须在这里犯一个小错误,但我一直在寻找帮助解决这个问题,我能找到的所有信息都是有条件的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