Я пытаюсь объединить три таблицы, чтобы отбросить список отдельных сообщений в блогах с соответствующими активами (изображения и т. Д.), Но я продолжаю подниматься на обрезку. Три таблетки: tblBlog
, tblAssetLink
и tblAssets
. Планшет Blog держит блог, таблица активов содержит активы, а таблица Assetlink связывает их вместе.Как присоединиться к трем таблицам с отличными
tblBlog.BID
является PK в блоге, tblAssets.AID
является ПК в активах.
Этот запрос работает, но отбрасывает несколько сообщений для одной записи. Я попытался использовать select distinct и group by and even union, но поскольку мои знания довольно слабы с SQL - они все ошибки.
Я также хотел бы учесть любые активы, помеченные как удаленные (tblAssets.Deleted = true), но не скрывать связанное сообщение в блоге (если это не отмечено как удаленное). Если кто-то может помочь - он будет очень признателен! Благодарю.
Вот мой запрос до сих пор ....
SELECT dbo.tblBlog.BID,
dbo.tblBlog.DateAdded,
dbo.tblBlog.PMonthName,
dbo.tblBlog.PDay,
dbo.tblBlog.Header,
dbo.tblBlog.AddedBy,
dbo.tblBlog.PContent,
dbo.tblBlog.Category,
dbo.tblBlog.Deleted,
dbo.tblBlog.Intro,
dbo.tblBlog.Tags,
dbo.tblAssets.Name,
dbo.tblAssets.Description,
dbo.tblAssets.Location,
dbo.tblAssets.Deleted AS Expr1,
dbo.tblAssetLink.Priority
FROM dbo.tblBlog
LEFT OUTER JOIN dbo.tblAssetLink
ON dbo.tblBlog.BID = dbo.tblAssetLink.BID
LEFT OUTER JOIN dbo.tblAssets
ON dbo.tblAssetLink.AID = dbo.tblAssets.AID
WHERE (dbo.tblBlog.Deleted = 'False')
ORDER BY dbo.tblAssetLink.Priority, tblBlog.DateAdded DESC
EDIT
Изменена Where
и order by
....
Ожидаемый результат:
tblBlog.BID = 123
tblBlog.DateAdded = 12/04/2015
tblBlog.Header = This is a header
tblBlog.AddedBy = Persons name
tblBlog.PContent = *text*
tblBlog.Category = Category name
tblBlog.Deleted = False
tblBlog.Intro = *text*
tblBlog.Tags = Tag, Tag, Tag
tblAssets.Name = some.jpg
tblAssets.Description = Asset desc
tblAssets.Location = Location name
tblAssets.Priority = True
Пожалуйста, добавьте данные примера и ожидаемые результаты –
Пожалуйста ** не ** поместить образцы кода или достаточно данных в комментариях - так как вы не можете отформатировать его, это чрезвычайно сложно ** прочитать его ... Вместо этого: ** обновите ** свой вопрос, отредактировав его, чтобы предоставить дополнительную информацию! Спасибо. –
извините, я просто заметил это и обновил выше –