У меня есть база данных, в которой хранятся файлы, и в одной таблице их имена файлов и порядковый номер на номер записи, а также в другой таблице номер записи, которой назначены эти файлы. У меня есть приложение, обращенное к этой базе данных, и я хочу иметь возможность извлекать имена файлов из этой таблицы, но ТОЛЬКО из файлов PDF. Проблема в том, что из-за ограничений приложения (и нет, я не могу их изменить; это ошибка в коде, над которым работает разработчик программного обеспечения), это позволит мне получить только одно имя файла на столбец в результаты приложения отображаются вместо простого отображения всех имен файлов, связанных с этой записью, в одном столбце, разделенных запятой, и т. д. c.
Я просто хочу, чтобы приложение извлекало имена файлов, если файл представляет собой PDF, однако для того, чтобы вообще извлекать имена файлов в это приложение, я должен определить уникальное качество для номера записи, которое в данном случае порядковый номер (seqno). Я хочу написать заявление, которое гласит: «тянуть это имя файла по порядковому номеру, если файл является PDF», которое не приводит к пустым столбцам. Итак, другими словами, если к этой записи прикреплено пять файлов, а два - в формате PDF, мне не нужны пять столбцов, три из которых пустые, а два - с отображаемыми данными. Я хочу, чтобы только имена файлов были доставлены в первые два столбца. Если к следующей записи прикреплено пять файлов и три файла формата PDF, файлы должны отображаться в следующих трех столбцах.
Ниже приведен исходный код. Он просто находит все файлы, прикрепленные к записи, извлекает информацию об имени файла из dbo.FILE и информацию об имени записи из R.FILE_REV и назначает одно имя файла на столбец по порядковому номеру (номер R.SEQNO, очевидно, увеличивается на 1 для каждого столбца). Этот код работает отлично; Я просто хочу иметь возможность не печатать его снова и снова и иметь пустые столбцы, если случится так, что файл с seq_no 2 не является PDF.
SELECT F.FILENAME
FROM dbo.FILE F,
dbo.FILE_REV R
WHERE F.FILE_NO = R.FILE_NO
AND R.RECORD_NO = {RECORD_NO}
AND R.SEQNO = '1'