Я присоединяюсь к этим двум таблицам и хочу отправить представление Test
с его изображениями.
Тест
- Name (VARCHAR(255))
- Идентификатор теста (INT)
- Время начала (DATETIME2(7))
- Статус (VARCHAR(255))
Картинки
- ImageId (INT)
- Идентификатор теста (INT)
- Изображение (VARBINARY(MAX))
Прямо сейчас я делаю это:
SELECT Name, t.TestId, StartTime, Status, Image
FROM [Test] t
LEFT JOIN [Images] i ON i.TestId = t.TestId
Что мне здесь не нравится, так это то, что у меня есть несколько строк из одного и того же теста, но с разными изображениями. Есть ли удобный способ вернуть только одну строку каждого теста с его изображениями?
Мои изображения не такие тяжелые (максимум 100 КБ), и у меня не так много изображений на тест (максимум 10). Вот что я думаю:
- Это может показаться сумасшедшим, но, возможно, в SQL-сервере есть способ преобразовать
Image
в список изображений в видеVARBINARY(MAX)
. - Я мог бы иметь 10 столбцов (изображение1, изображение2...) в представлении и заполнить их изображениями, если они существуют (НЕ NULL)
Я немного застрял с этими решениями, так как я мало знаю о SQL, но я все еще пытаюсь. Вы видите другой способ сделать это? Если нет, не могли бы вы помочь мне полезным советом, как добиться 1. или 2.