Импорт данных в силовую сводную таблицу с помощью SQL-запроса

Я столкнулся с блокпостом, который меня озадачил, и, надеюсь, вы, ребята, могли бы мне подсказать. Я пытаюсь импортировать данные из представления в базе данных оракула. Очень простой оператор выбора, подобный этому:

select n."A", n"B", p."C", p."D", p2."F" from N n, P p, Q p2 where n."A"=p."A" and n."E"=p2."E"

Где N — представление, P, Q — таблицы в базе данных Oracle. Вышеупомянутое является простой версией фактического оператора SQL, так как последний на самом деле имеет гораздо больше полей, чем оператор выше, но природа проблемы идентична. Я запустил инструкцию из SQL Developer, и она прошла отлично, без ошибок. Из Power Pivot я могу видеть представление и таблицы, когда я выбрал «Выбрать из списка таблиц и представлений, чтобы выбрать данные для импорта». Однако, если я выберу «Написать запрос, который укажет данные для импорта» и введет оператор выше в поле Оператор SQL, я получу ошибку «ORA-00942: таблица или представление не существует». Я почти уверен, что если бы я создал другое представление от разработчика SQL, которое определяется приведенным выше оператором, и выбрал 1-й вариант («Выбрать из списка таблиц и представлений, чтобы выбрать данные для импорта»), я бы не столкнулся с ошибкой, но я предпочитаю использовать второй вариант. Возможно ли это сделать? Если можно, то возможно я что-то не так сделал. Буду признателен, если кто-нибудь подскажет. Спасибо!


person user1205746    schedule 02.10.2012    source источник


Ответы (1)


Похоже у вас опечатка...

SELECT n."a", 
       n"B", 
       p."c", 
       p."d", 
       p2."f" 
FROM   n n, 
       p p, 
       q p2 
WHERE  n."a" = p."a" 
       AND n."e" = p2."e"

должно быть...

SELECT n."a", 
       n."B",
       p."c", 
       p."d", 
       p2."f" 
FROM   n n, 
       p p, 
       q p2 
WHERE  n."a" = p."a" 
       AND n."e" = p2."e"

обратите внимание на разницу в строке 2 каждого блока кода... n"B" vs n."B"

person Bill Anton    schedule 12.10.2012