Полная версия этой страницы:
БД
Мож кто-нить волочет в базах данных?
Есть таблица, например Работники.
Там поля: ФИО Должность Оклад и несколько других.
Например там такая строка есть:
Чувак Расписдяй и другие значения (оклад не заполнен)
И еще таблица Оклады
В ней поля Должность Оклад
К примеру, строки в ней такие:
Сантехник 20000
Слесарь 25000
Токарь 22000
Расписдяй 30000
Как сделать, штоб в таблицу Работники в поле Оклад подтягивался оклад из второй таблицы в зависимости от должности?
Лучше на примере access. Можно на примере любой БД, допру.
В экселе-то просто. Там функция ВПР - и все дела. А в базе как?
ПикаПикаПикачу
12.10.2011, 17:11
Это надеюсь 1Ска?
нечто типа запроса
Выбрать
Работники.ФИО,
Работники.Должность,
Оклады.Оклад // Оклады должность не надо, она равна работники.должность
Из
Работники
Левое Соединение // т.е. для каждого работника берем из таблицы оклады соотв значение
Оклады
По Работники.Должность = Оклады.Должность
АПД Ну, это если программить можно. Соединение таблиц базы данных при помощи запроса
Водар Паветра
12.10.2011, 17:40
SQL:
SELECT ФИО, Должность
FROM Работники
JOIN Оклады
ON Работники.Должность=Оклады.Должность
нее! не выборку делать.
а ссылку!
штоб в таблице Работники присваивалось значение из таблицы Оклады.
кароче, че нужно:
1) запрос select * from Работники where ФИО="Чувак" должен выдавать Чувак Распиздяй 30000.
2) если в таблице Оклады мы поменяем для должности Расписдяй 30к на 40к, то запрос из пункта 1 будет выдавать Чувак Распиздяй 40000
так мона?
Водар Паветра
12.10.2011, 18:10
Как ты получишь "Чувак Распиздяй 30000", если у тебя в запросе таблица окладов вообще не фигурирует?
SELECT * FROM
(SELECT ФИО, Должность
FROM Работники
JOIN Оклады
ON Работники.Должность=Оклады.Должность)
WHERE ФИО="Чувак"
Ответ на второй вопрос: да
Цитата(Водар Паветра @ 12.10.2011, 19:10)

Как ты получишь "Чувак Распиздяй 30000", если у тебя в запросе таблица окладов вообще не фигурирует?
дык в этом и суть штоб в табло Работники подтягивались данные из табла Оклады автоматом!
Кароче, штоб в табле работники поле оклад ваще нередактируемое было, а заполнялось токо из таблицы Оклады
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.