Я использую SQL 2005.Число запросов в SQL
Таблица один, LinkedDocumentFolderTable, содержит имена и информацию о папках, которые содержат связанные документы.
В таблице 2, LinkedDocumentTable, содержится информация о самих связанных документах.
Эти две таблицы связаны LinkedDocumentFolderID.
Мне нужен LinkedDocumentFolderID, описание, FolderURL и IsUnmanagedFolder из LinkedDocumentFolderTable. Я также хотел бы получить подсчет количества связанных документов в каждой папке (идентифицированной связанным документом).
Заявление ниже работает с точки зрения предоставления мне общего количества документов в LinkedDocumentTable, но не разбивает его на связанный файл документа. Пожалуйста, помогите мне переписать заявление, чтобы получить подсчет связанных документов в каждой папке. Заранее спасибо.
select Count(*)
from linkeddocumenttable
select ld.linkeddocumentfolderid,ld.description,
ld.folderURL,ld.isunmanagedfolder
from linkeddocumentfoldertable ld
inner join linkeddocumenttable l on
ld.linkeddocumentfolderid=l.linkeddocumentfolderid
Работы БОЛЬШИЕ! Благодарю. –
Почему вы используете коррелированный подзапрос, просто * надеясь *, что движок преобразует его в разумный план выполнения, вместо того, чтобы помещать его в производную таблицу и знать? Коррелированный подзапрос имеет смысл только в том случае, если вы запрашиваете небольшой набор строк через предложение WHERE во внешнем (или внутреннем) запросе. – ErikE
@ Erik - Я просто проиллюстрировал довольно простой способ добиться того, что было задано. Не зная, является ли производительность на самом деле проблемой, нет смысла пытаться ее оптимизировать. –