Хотите показать одну и ту же запись из нескольких таблиц одновременно (Oracle Live SQL) - PullRequest
0 голосов
/ 24 марта 2020

У меня есть три отдельные таблицы для фондового рынка США, Азии и Европы. Единственная акция, которая есть во всех трех из них - это Apple в моем сценарии. Код ниже работает ..

Select * from USA_Stock 
Where Name='Apple (AAPL)'

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

Select * from USA_Stock, Europe_Stock, ASIA_Stock 
Where Name='Apple (AAPL)';

, это выдает мне следующую ошибку

ORA-00918: столбец неопределенно определен

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Если вы уже знаете, что Apple является единственной акцией, присутствующей во всех трех таблицах, и вы просто хотите показать записи Apple из каждой таблицы, то, возможно, объединение больше соответствует тому, что вам нужно:

SELECT name, price FROM USA_Stock WHERE name = 'Apple (AAPL)'
UNION ALL
SELECT name, price FROM Europe_Stock WHERE name = 'Apple (AAPL)'
UNION ALL
SELECT name, price FROM ASIA_Stock WHERE name = 'Apple (AAPL)';
0 голосов
/ 24 марта 2020
SELECT name, price FROM USA_Stock WHERE name = 'Apple (AAPL)'
INTERSECT
SELECT name, price FROM Europe_Stock WHERE name = 'Apple (AAPL)'
INTERSECT
SELECT name, price FROM ASIA_Stock WHERE name = 'Apple (AAPL)';

возвращает только строки с одинаковыми именами

...