Возможно ли захватить данные из двух таблиц (имеющих одинаковые поля) в один вид. В принципе, поэтому представление видит данные, как если бы это была одна таблица.Данные из двух таблиц в один вид
ответ
Да, с помощью UNION -
CREATE VIEW vw_combined AS
SELECT * FROM TABLE1
UNION ALL
SELECT * FROM TABLE2
... требует, чтобы быть одинаковое количество столбцов, и спичка типы данных в каждой позиции.
..preferrably, используя JOIN:
CREATE VIEW vw_combined AS
SELECT *
FROM TABLE1 t1
JOIN TABLE2 t2 ON t2.col = t1.col
Но я хочу предостеречь от зависимости от взглядов - если не осуществились, они получают только операторы SQL. Нет выгоды от производительности и может негативно повлиять на производительность, если вы создаете представление на основе другого. Кроме того, взгляды являются хрупкими - они могут измениться, и вы не будете знать, пока не будете использовать поддерживающий вид, если есть проблемы.
create or replace view view_name as
select * from table_1
union all select * from table_2
Примечание: столбцов в представлении устанавливается в то время создаются вид. Добавление столбцов в table_1 и table_2 после создания представления не будет отображаться в view_name. Вам нужно будет повторно запустить вышеуказанный DDL, чтобы отобразить новые столбцы.
Если вы хотите дублировать строки, чтобы быть collasped одиночкам строк (но потенциально больше работы для сервера):
create or replace view view_name as
select * from table_1
union select * from table_2
Вообще это плохая форма использовать *
в списке выбора, но при условии, что запросы используя представление собираются выбрать именно то, что им нужно, я бы использовал его здесь вместо явного называния всех столбцов. (Тем более, что я не хочу добавлять имена столбцов при изменении таблицы_1 и table_2.)
+1: Я забыл упомянуть о столбцах при создании –
@OMG Ponies: Это немного изменило меня, это свежо в банках памяти. –
- 1. MVC Объединить данные из двух разных таблиц в один вид
- 2. Объединить данные из двух таблиц в один
- 3. Получить данные из двух таблиц?
- 4. Один объект из двух таблиц
- 5. данные доступа из двух таблиц
- 6. Данные фильтра из двух таблиц
- 7. Laravel 5 Передайте данные из двух таблиц на вид
- 8. Как вставить данные из двух таблиц в один?
- 9. Объединить данные из двух таблиц в один столбец другой таблицы
- 10. Как объединить данные из двух отдельных таблиц в один курсор?
- 11. вставки данных из двух таблиц в один
- 12. Oracle создать вид из двух таблиц
- 13. Объединить данные из двух таблиц
- 14. выбирать данные из двух таблиц
- 15. Сравните данные из двух таблиц
- 16. Извлечь данные из двух таблиц
- 17. выбирать данные из двух таблиц
- 18. Извлечь данные из двух таблиц
- 19. Считывает данные из двух таблиц
- 20. Удалить данные из двух таблиц
- 21. Извлечь данные из двух таблиц в codeigniter
- 22. Данные SQL из одной из двух таблиц
- 23. создавая вид из двух или более таблиц
- 24. Объединение столбцов из двух таблиц в один
- 25. Извлечь данные из двух разных таблиц за один отчет
- 26. Получить данные из двух таблиц, используя один запрос MySQL?
- 27. Как получить данные из двух таблиц за один цикл?
- 28. Удалить данные из двух таблиц в symfony
- 29. Отобразить данные из двух таблиц в listgrid
- 30. Сравните данные из двух таблиц в codeigniter
«предпочтительнее, используя JOIN» Только если это соответствует требованиям. Я не заметил, что строки в таблице1 и таблице2 были связаны с тем, как объединение будет иметь смысл. ОП заявила: «У них одинаковые поля», поэтому профсоюз будет работать, если типы совпадают. –
@Shannon Severance: Я не вижу вреда в предложении обзора логики или предоставления дополнительной информации, которая может быть полезна. –
Я согласен, что было хорошо упомянуть о соединении, потому что есть два способа объединить две таблицы, которые делают результаты длиннее или шире таблиц. (+1 для этого BTW.) Я просто не думаю, что кто-то предпочитает другого, не зная наверняка, что пытается сделать OP. –