Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 2
1

Как указать в запросе имя таблицы, записанное в ячейке этой таблицы

20.12.2016, 18:04. Показов 885. Ответов 1
Метки нет (Все метки)

Добрый день.
Помогите пожалуйста решить проблему:

Есть таблица 'budget' со следующей структурой:

магазин категория магазина должность код должности оклад
маг-1 A директор director
маг-2 B продавец salesman

Для каждой должности есть своя таблица, в которой в зависимости от категории магазина указан оклад и перечень и размер премий. Название этих таблиц = коду должности из таблицы 'budget'

Суть проблемы:
Хочу подтянуть оклад из каждой таблицы должности, пишу следующий запрос:
MySQL
1
2
3
4
5
UPDATE `budget` 
SET `оклад` = 
(SELECT `оклад` 
FROM `budget`.`код должности` 
WHERE `категория магазина` = `budget`.`категория магазина` )
Но получаю ошибку.
При этом когда название таблицы, из которой нужно подтянуть оклад прописываю вручную, все работает. Например:
MySQL
1
2
3
4
5
UPDATE `budget` 
SET `оклад` = 
(SELECT `оклад` 
FROM `director` 
WHERE `категория магазина` = `budget`.`категория магазина` )
Подскажите пожалуйста, как прописать запрос, чтобы имя таблицы, из которой подтягиваю оклад, бралось из столбца 'код должности.'
Спасибо.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2016, 18:04
Ответы с готовыми решениями:

Как в SQL запросе имя таблицы представить в виде переменной
Подскажите пожалуйста : Как (MS SQL 7.0) как в SQL запросе имя таблицы представить в виде...

Update таблицы с услоыием с этой же таблицы
Здравствуйте! Таблица Items (ID, product_id, status) нужно написать запрос, который изменит...

Как в SQL запросе выбрать все таблицы в базе?
Появилась необходимость обнулить AUTO_INCREMENT. Но сидеть и прописывать каждое имя таблицы - очень...

КАК в качестве префикса названия таблицы указать имя каталога?
Есть каталоги 1,2,3, В каждом есть файл index.php c содержимым: N_sqltablename Нужно чтобы в...

1
Модератор
3882 / 2859 / 546
Регистрация: 21.01.2011
Сообщений: 12,378
21.12.2016, 09:48 2
Цитата Сообщение от Kosdnepr Посмотреть сообщение
чтобы имя таблицы, из которой подтягиваю оклад, бралось из столбца 'код должности.'
В общем случае SQL для таких манипуляций не предназначен. В подобных случаях приходится формировать SQL-предложение динамически в виде строки и потом эту строку исполнять.

Добавлено через 45 секунд
Цитата Сообщение от Kosdnepr Посмотреть сообщение
Для каждой должности есть своя таблица
А вообще это - весьма сомнительное решение.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2016, 09:48

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как указать в SQL-запросе значение поля таблицы равным значению текста в TextBox?
Всем привет, у меня такой вопрос, в проекте у меня идёт подключение к базе данных, я ввёл функцию...

Как в запросе вывести из одной таблицы все значения со значением флага false в этой же таблице
Здравствуйте! У меня есть таблица, котрая имеет поля ид, имя больного, имя врача, статус врача....

При клике по ячейке вставить текст в другую ячейку этой же таблицы
Здравствуйте! У меня есть таблица: <table> <tbody> <tr> ...

Как в MySQL запросе сравнить значение id из таблицы A со значением a_id из таблицы B из последней добавленной записи
Очень тяжело объяснить, вот пример (работаю в phpmyadmin): У меня есть 2 таблицы: articles...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.