0
我正在尝试构建搜索存储过程。我想搜索多个表并返回与应用程序相关的任何内容。现在我正在用两张桌子工作。 dbo.Media中有5条记录,dbo.Sites有1条记录。当我运行我的查询时,返回5个结果,但所有行数据都来自我的1条记录dbo.Sites表。这里是我的SQL如何搜索/查询多个表以返回通用结果?
SELECT
CASE
WHEN D.Id IS NOT NULL THEN D.Id
WHEN M.Id IS NOT NULL THEN M.Id
END AS Id,
CASE
WHEN D.Id IS NOT NULL THEN D.Name
WHEN M.Id IS NOT NULL THEN M.Title
END AS Title,
CASE
WHEN D.Id IS NOT NULL THEN LEFT (D.[Description], 100)
WHEN M.Id IS NOT NULL THEN LEFT (M.[Description], 100)
END AS Content,
CASE
WHEN D.Id IS NOT NULL THEN D.WebUserId
WHEN M.Id IS NOT NULL THEN M.WebUserId
ELSE ''
END AS WebUserId
FROM dbo.Sites D, dbo.Media M
WHERE (D.Status = 1 AND D.Name LIKE '%wre%') OR (M.Status = 1 AND M.Title LIKE '%wre%')
要么你可以得到这一切成为UNION或UNION ALL语句,或者你必须填写一个临时表结果一步一步,然后返回临时结果的内容桌子打回来 – 2010-11-25 21:38:03