Я новичок в MySQL.
Я хочу создать триггер, который сравнивает стоимость в тендерной таблице с таблицей tender_request, если стоимость в тендерной таблице больше стоимости в таблице tender_request, даст статическую оценку в таблице KPI.
тендерная таблица (ID, имя, стоимость)
Тендерная таблица (ID, Имя, Оценочная стоимость, поставщик_ID, тендер)
Таблица KPI (идентификатор, стоимость)
supplier_performance (KPI_ID, tender_ID, tender_request_ID)
Я получаю следующую ошибку, когда я вставляю строку в таблицу запроса:
#1054 - Unknown column 'tender_request.TenderID' in 'where clause'
Как исправить ошибку синтаксиса?
BEGIN
SET @Ecost=(SELECT 'estimated_cost' FROM tender where 'tender'.'Tender_ID'='tender_request'.'TenderID');
SET @cost=(SELECT 'cost' FROM tender_request where 'tender'.'Tender_ID'='tender_request'.'TenderID');
IF(@Ecost>@cost) then
UPDATE 'kpi' set kpi.Cost=10 WHERE 'kpi'.KPI_ID='supplier performance'.KPIID
and 'supplier performance'.TenderID=tender.Tender_ID ;
END IF;
END
Если вам нужен запрос на основе двух таблиц, вы должны использовать соединение, например:
SELECT 'estimated_cost'
FROM tender
INNER JOIN tender_request ON 'tender'.'Tender_ID'='tender_request'.'TenderID'
или же
SELECT 'cost'
FROM tender_request
INNER JOIN tender ON 'tender'.'Tender_ID'='tender_request'.TenderID