Существуют ли альтернативы UNION для выбора одинаковых столбцов из нескольких таблиц? - PullRequest
2 голосов
/ 04 октября 2011

У меня есть 4-5 таблиц с почти одинаковыми именами, и мне нужно выбрать столбцы с одинаковыми именами. Пока я делаю это:

    SELECT colA, colB FROM Table1
    UNION
    SELECT colA, colB FROM Table2
    UNION
    etc...

Кажется, что это может быть слишком многословно, если бы у вас было больше, чем несколько похожих таблиц, и вам было интересно, есть ли альтернативный синтаксис. В идеале я хотел бы что-то подстановочное, как

SELECT colA, colB FROM Table%

Если нет альтернативы UNION, почему бы и нет? Есть ли конкретная причина не допустить этого? Я полагаю, это потому, что SQL должен быть как можно более конкретным, когда дело доходит до определений таблиц (имена таблиц + столбцов, типы и т. Д.), В то же время позволяя гибко манипулировать данными (поэтому у нас есть символы подстановки для строк).

Ответы [ 3 ]

2 голосов
/ 04 октября 2011

Нет альтернативы, о которой я мог подумать.Если бы я был придирчив, я бы сказал, что если у вас есть похожие таблицы, содержащие подобные данные, вам следует пересмотреть структуру вашей базы данных: -)

1 голос
/ 04 октября 2011

Нет альтернативы для запроса UNION, разработанного поставщиком базы данных.

0 голосов
/ 04 октября 2011

вы можете использовать псевдонимы таблиц.например:

select a.colA, b.colA, a.colB, b.colB
from table1 a
...