Вопрос № 50300: Уважаемые эксперты!
Как сделать запрос, который бы возвращал все поля выбранной таблицы плюс столбец все поля которого = имя таблицы.
..
Вопрос № 50.300
Уважаемые эксперты!
Как сделать запрос, который бы возвращал все поля выбранной таблицы плюс столбец все поля которого = имя таблицы.
Приложение:
Отправлен: 26.07.2006, 23:22
Вопрос задал: A_m_v (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Tsechoev Bagaudin
Здравствуйте, A_m_v!
Пожалуйста указывайте какую БД вы используете. У каждой БД своя реализация SQL. Неясно что вы имеете ввиду под словом "поле", скорее всего записи. Так как поле (field) и столбец (column) в SQL синонимы. Повторите вопрос, и напишате что в итоге необходимо получить.
Удачи!
--------- Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: Tsechoev Bagaudin (статус: Студент)
Ответ отправлен: 27.07.2006, 10:06
Отвечает: Александр Шевченко
Здравствуйте, A_m_v!
select fld, 'Таб_а' from Таб_а
union all
select fld, 'Таб_б' from Таб_б
order by fld
--------- Вместо внутренней почты лучше стучитесь в аську
Ответ отправил: Александр Шевченко (статус: 9-ый класс)
Ответ отправлен: 27.07.2006, 10:53 Оценка за ответ: 5 Комментарий оценки: Спасибо
Отвечает: Игорь Елизаров
Здравствуйте, A_m_v!
Для MSSQL следующие варианты:
select *, 'Таб_а' from tab_a
select *,'Таб_б' from tab_b
если необходимо, чтобы имя таблицы изменялось, было переменным, то надо делать уже динамический запрос, то есть
declare str1 varchar(50)
declare str_sql varchar(100)
set str1='tab_a'
set str_sql= 'select *,''''+@str1+'''' +from ' + @str1
execute str_sql
обратите внимание, в серединке стоит куча кавычек. Это для того, чтобы значение переменной str1 оказалось в кавычках.
С количеством кавычек мог ошибиться.. не помню точно, три надо или четыре, надо просто посмотреть итоговый запрос.
С уважением, Игорь
Ответ отправил: Игорь Елизаров (статус: 5-ый класс)
Ответ отправлен: 27.07.2006, 14:28