У меня есть следующий sql, который возвращает проекты и связанных подрядчиков, а также информацию о размере документа из трех разных таблиц.Последовательность: сначала в систему вводятся подрядчики, затем вводятся проекты для каждого подрядчика, при этом вводятся размеры документов (листов).Пока все хорошо: следующий sql возвращает все проекты вместе с соответствующими подрядчиками и ведомостями в порядке:
SELECT
dbo.generalcontractors.name,
dbo.Projects.*,
dbo.sheets.sheetsize,
dbo.sheets.sheetid
FROM
dbo.generalcontractors
INNER JOIN dbo.Projects ON (dbo.generalcontractors.uid = dbo.Projects.generalcontractorid)
INNER JOIN dbo.sheets ON (dbo.Projects.sheetid = dbo.sheets.sheetid)
ORDER BY
dbo.Projects.projectdate DESC
Теперь необходимо, чтобы документы для отдельных проектов были внесены в таблицу ProjectDocuments
.У меня есть следующий код, который проверяет наличие документов в таблице ProjectsDocuments
и возвращает соответствующие значения;В настоящее время идентификатор проекта жестко запрограммирован, и он работает.
Вопрос: как я могу объединить следующий SQL в SQL выше?Я ищу один результат запроса, который покажет все совпадающие строки из таблицы ProjectsDocument
, а если совпадения не будет, то покажет «Не найдено».
Это для SQL Server 2005.
Спасибо!
IF (SELECT COUNT(*) FROM dbo.projectsdocuments, dbo.Projects
WHERE projectsdocuments.projectid = Projects.projectid
AND Projects.projectid = 5) > 0
SELECT *
FROM projectsdocuments
ELSE
SELECT 'Not Found' AS HighPrice