Я не могу сказать, что я полностью понимаю, что происходит в ваших таблицах, особенно учитывая, что ваш выходной образ не имеет никакого отношения к вашим образцовым таблицам, но похоже, что вы хотите, чтобы список под-значений с разделителями-запятыми из таблицы2, которые связаны с таблицей 1.
Вот рабочий пример, который, как я думаю, касается ваших потребностей. Вы можете использовать CROSS APPLY в этих ситуациях. Это позволяет вам возвращать значения всех из таблицы1 независимо от соответствующей записи в таблице 2.
DECLARE @table1 TABLE ( [ks] INT, [code] VARCHAR(10) );
DECLARE @table2 TABLE ( [id] INT, [ks] INT, [code] VARCHAR(10) );
-- populate table1 --
INSERT INTO @table1 (
[ks], [code]
)
VALUES
( 11, 'aaaa' )
, ( 12, 'bbbb' )
, ( 13, 'cccc' )
, ( 14, 'dddd' );
-- populate table two --
INSERT INTO @table2 (
[id], [ks], [code]
)
VALUES
( 1, 11, 'aaaaa' )
, ( 2, 11, 'bbbbb' )
, ( 3, 12, 'aaaaa' )
, ( 3, 13, 'ccccc' )
, ( 4, 12, 'bbbbb' );
SELECT
t1.ks, codes.codes
FROM @table1 t1
CROSS APPLY (
SELECT (
STUFF(
( SELECT ', ' + t2.code AS "text()" FROM @table2 t2 WHERE t2.ks = t1.ks FOR XML PATH ( '' ) )
, 1, 2, ''
)
) AS [codes]
) AS codes
ORDER BY
t1.ks;
Результат:
ks codes
11 aaaaa, bbbbb
12 aaaaa, bbbbb
13 ccccc
14 NULL
Итак, в заключение, общее количество изображений соответствует размеру ваших данных. Если вы хотите иметь больше изображений, в то время как некоторые из них должны быть преобразованы, вы можете использовать две отдельные копии каждого изображения (хотя я бы советовал против этого).
Вы также можете использовать метод apply_transform
класса ImageDataGenerator
для каждого изображения в вашем наборе данных. При таком подходе вы уверены, какие изображения преобразуются, а какие нет, я бы придерживался этой идеи.