У меня есть следующий sql, который возвращает Проекты и связанные с ними Подрядчики, а также информацию о размере документа из трех разных таблиц. Последовательность: первые Подрядчики вводятся в систему, затем Проекты вводятся для каждого Подрядчика, во время ввода документов (листов). До сих пор так хорошо: Следующий SQL возвращает все проекты вместе с соответствующими подрядчиками и Sheets тонкодисперсными:SQL Server Multitable Выбрать с IF-Else
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
@marc_s. Благодарю. Слишком рано для меня это делать. Любой другой способ я могу вернуть все это в одном запросе? – IrfanClemson
Можете ли вы опубликовать инструкции «СОЗДАТЬ» для таблиц? Таким образом, я могу использовать SSMS для отладки. –
По этому поводу: http://www.mssqltips.com/sqlservertip/1667/sql-server-join-example/ ПРАВИЛЬНЫЙ ВЗГЛЯД РАБОТЫ тоже должен работать. В моем текущем sql это добавлено: «Right OUTER JOIN dbo.projectsdocuments ON (Select * from Projects)», но получение ошибки: «Выражение небулевого типа, указанное в контексте, где ожидается условие, рядом с« ORDER ». '(см. ЗАКАЗ в исходном sql выше). Благодаря! – IrfanClemson