Надеюсь, вы можете мне помочь.SQL. Создайте соединение/запрос на основе результатов другого запроса. Таблица Join будет получена из результатов другого запроса.
Мне нужно создать запрос, который будет использовать значения из динамического результата для использования в качестве левой таблицы соединений.
Например:
Этот запрос будет возвращать разные значения все время. На основе каждого @itemid.
SELECT DISTINCT [Reference]
FROM TABLE_ABC
WHERE ID = @ItemId
Затем, используя эти значения «Reference», мне нужно левое соединение по этим значениям, а также вернуть сумму для этого, как для запроса ниже. Нижеприведенный запрос работает идеально, если я жестко закодировал ссылку в каждом левом соединении. Но мне нужно сделать все это динамическим, чтобы он создавал запрос в зависимости от количества возвращаемых элементов Reference.
SELECT
SUM(x.Value) [Ref A],
SUM(x1.Value) [Ref B],
SUM(x2.Value) [Ref C]
FROM TABLE_YZ yz
LEFT JOIN TABLE_ABC x ON yz.id = x.id AND x.Reference = 'Ref A'
LEFT JOIN TABLE_ABC x1 ON yz.id = x.id AND x1.Reference = 'Ref B'
LEFT JOIN TABLE_ABC x2 ON yz.id = x.id AND x2.Reference = 'Ref C'
Может ли кто-нибудь дать мне несколько советов о том, как создать этот скрипт? Или что мне искать?
Большое спасибо.
Андерсон
** Образец Результаты:
Итого ---- REF A ---- ---- B Ссылка Ссылка Ссылка С ---- ---- D Ссылка E - --- и так далее ... ..
1,000.00 ---- ---- 100,00 200,00 300,00 ---- ---- ---- 250,00 250,00
Просто измените объединенную таблицу на дополнительный запрос с помощью скобок() и дайте ей псевдоним – budirec
, что RDBMS? mySQL, SQL-сервер? предполагая SQL-сервер с []. И .... это table_yz ваш отличный список из 1-го запроса? и, наконец, они должны быть столбцами? это кажется, что было бы легче, как группа, используя аналитику. – xQbert
SQL Server - Спасибо – user2216540