В unpivoting операции я хотел бы следующее:Как использовать псевдоним таблицы с заявлением Союза в Access?
SELECT A, B, C FROM [complex joins/where clause] As DerivedTable
UNION
SELECT A, B, D FROM DerivedTable
UNION
SELECT A, B, E FROM DerivedTable
...
но жалуется, что DerivedTable
не может быть найден (я использую производную таблицу, так что [complex joins/where clause]
не должны быть оценены снова и снова, таким образом, замедляя вещи).
Я знаю, что могу просто создать новый запрос с именем DerivedTable
представлять [complex joins/where clause]
но
выше SQL передается из Excel - Я предпочел бы не открыть базу данных, чтобы создать новый запрос предварительного для работы выше
[complex joins/where clause]
генерируется динамически и изменяется от пользователя к пользователю, два из которых могут одновременно запускать указанный выше SQL.
Это не так, как профсоюзы работают, к сожалению. Я предполагаю, что вы ограничены одним запросом (а не с возможностью выводить несколько операторов SQL), так что вы можете просто вывести '[complex join/where clause]' во всех объединениях, а не только в первую очередь? –
'[complex join/where clause]' занимает много времени, поэтому в идеале я бы хотел избежать повторной оценки '[complex joins/where clause]' – mchen