Я генерирую изображения из оригинала и сохраняю их в таблице.Я хочу запрос, который проверит наличие пробелов.
Размеры изображений хранятся в третьей таблице, и для каждого оригинала должно быть 1 сгенерированное изображение для каждой записи в таблице типов.
Где что?У меня так далеко:
SELECT oi.OriginalImageID, it.ImageTypeID
FROM dbo.OriginalImages AS oi
CROSS JOIN
dbo.ImageType AS it
LEFT OUTER JOIN
(
SELECT oi2.OriginalImageID, it2.ImageTypeID
FROM dbo.OriginalImages AS oi2
INNER JOIN
dbo.GeneratedImages AS gi2 ON gi2.OriginalImageID = oi2.OriginalImageID
INNER JOIN
dbo.ImageType AS it2 ON it2.ImageTypeID = gi2.ImageTypeID
) AS sub ON sub.OriginalImageID = oi.OriginalImageID
AND sub.ImageTypeID = it.ImageTypeID
WHERE (sub.OriginalImageID IS NULL)
Что работает, но кажется очень некрасивым.Мне интересно, есть ли более элегантный способ сделать это.
Таблицы по сути выглядят так:
OriginalImages
OriginalImageID (PK)
Image
GeneratedImages
OriginalImageID (FK)
ImageTypeID (FK)
Image
ImageType
ImageTypeID (PK)
Description