SQL заполнение полей одной таблицы значениями из другой таблицы

Я довольно новичок в SQL (в основном я строю таблицы и изменяю их, с некоторыми инструкциями выбора / вставки), но у меня есть задача, над которой я застрял.

Я заполнял HTML-таблицы на одной из моих страниц информацией о базе данных через PHP. Все заполняется правильно, но мне нужно заполнить некоторые значения в моей таблице базы данных, чтобы я мог показать их в таблице HTML.

У меня есть большой промежуточный стол и меньшая таблица цен. Когда файл CSV загружен на сайт, я вставляю его в промежуточную таблицу. Я хочу найти способ заполнить поля цен из информации в таблице цен.

Цены построены из трех вещей (все они находятся в промежуточной таблице): meterType, meterSize и workOrderType2. В моей промежуточной таблице есть еще одно поле, которое называется onsiteSurveyTestCost.

Моя таблица ценообразования содержит priceID, meterSize, meterType, workOrderType и цену.

Итак, если CSV вставлен и имеет «3» для meterSize, «Соединение» для meterType и «Съемка и тест» для workOrderType2, я хочу, чтобы он использовал priceID «1», который имеет 3 «Составной опрос и тест, и я хотите сохранить цену в исходной промежуточной таблице как onsiteSurveyTestCost.

Я надеюсь, что в этом есть смысл. Даже если это невозможно сделать при загрузке INSERT / CSV, мне все равно нужно найти способ сделать это на странице формы, чтобы я мог отобразить правильную цену для формы.

Таблица цен:

введите описание изображения здесь

Поля промежуточного стола:

введите описание изображения здесь
введите описание изображения здесь

ОБНОВИТЬ:

Неполная инструкция SQL:

UPDATE staging
SET onsiteTestSurveyPrice = (
SELECT price from pricing WHERE=
/* meterType of staging matches meterType of pricing*/
/* meterSize of staging matches meterSize of pricing*/
/* workOrderType2 of staging matches workOrderType of pricing*/

)

0

Решение

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

UPDATE staging
INNER JOIN pricing ON
staging.meterType = pricing.meterType
AND staging.meterSize = pricing.meterSize
AND staging.workOrderType2 = pricing.workOrderType
SET staging.onsiteTestSurveyPrice = pricing.price

Возможно, есть лучший способ сделать это, но трудно сказать, не зная больше о том, как работает ваше приложение.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector