我确定我在这里一定犯了一个小错误,但我一直在寻找解决这个问题的帮助,我能找到的只是关于条件 INNER JOIN 的信息。
< 编辑 > 问题是这个存储过程根本没有返回任何东西。如果我只输入:
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 不为空)
并将其全部放入临时
表
这是代码:
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
涉及到两个数据表:
用户 - 存储所有用户及其信息的表。
贡献内容
感谢 任何可以提供帮助的人!
最佳答案
仅运行 -
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
看看您得到的可能是您的
Where
的问题或您的 join
仔细查看是否有任何数据首先被返回。我的猜测是 join
看看您是否有匹配的用户 ID 加入...( 提示 : Left join 也许是你的答案)
关于sql - 带有 WHERE 条件和 INNER JOIN 的 SELECT 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4071140/