Создание списка в SQL и итерация по списку после строки FROM - PullRequest
0 голосов
/ 11 января 2019

Я хочу получить доступ к некоторым таблицам, таким как Toyota_Corolla, Toyota_Camry, Toyota_Prius, Toyota_Rav4

Вместо ввода нескольких операторов SELECT, как показано ниже:

SELECT * FROM Toyota_Corolla;
SELECT * FROM Toyota_Camry;
SELECT * FROM Toyota_Prius;
SELECT * FROM Toyota_Rav4;

Есть ли способ создать список строк, таких как ['Corolla', 'Camry', 'Prius', Rav4 '] и перебрать список после строки FROM до чего-то похожего на:

SELECT * FROM 'Toyota_'` + 'some loop to iterate the list of car model'

Я знаю, для моего примера, проще всего напечатать все это, но как насчет ситуации, когда у Toyota сотни моделей?

Это СУБД MS SQL Server

1 Ответ

0 голосов
/ 11 января 2019

Нет. Во-первых, вы должны исправить свою модель данных, чтобы у вас была одна таблица с дополнительным столбцом для модели Toyota. Это правильный способ хранения данных.

Имея данные, вы можете эмулировать это с видом:

create view vw_toyota as
    select 'Corolla' as toyota_model, t.* from Toyota_Corolla t union all
    select 'Camry' as toyota_model, t.* from Toyota_Camry t union all
    select 'Prius' as toyota_model, t.* from Toyota_Prius t union all
    select 'Rav4' as toyota_model, t.* from Toyota_Rav4 t;

Также добавляется информация об исходной таблице.

А затем сделайте:

select *
from vw_toyota;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...