MYSQL ВСТАВИТЬ ПЕРЕМЕННЫЕ / ОБНОВЛЕНИЕ ТАБЛИЦЫ - PullRequest
0 голосов
/ 11 февраля 2020

Я довольно плохо знаком с MYSQL. У меня есть 3 таблицы

Таблица .... счета ROWS .... id: rp_total

Таблица ... исследования ROWS .... research_uid: стоимость

Таблица ... complete_research ROWS .... id: research_uid

Я пытаюсь автоматически запустить сценарий, который будет искать идентификаторы, которые не завершили все исследования, и вставит новую строку в таблицу complete_research с их идентификатором и завершенным research_uid, если сумма rp_total превышает стоимость research_uid

Это трудно объяснить. Надеюсь, это имеет смысл. Я стараюсь избегать циклического перебора идентификаторов, потому что существует потенциал для одновременного обновления тысяч. Я предполагаю, что для этого потребуется какой-то вид или временная таблица, но я боролся с этим уже 2 solid дня.

1 Ответ

0 голосов
/ 11 февраля 2020

Это не совсем то, что вы хотите, но должно быть близко:

INSERT 
INTO
    completed_research(a_id, research_uid)
SELECT
    a.id,
    r.research_uid
FROM
    accounts a,
    research r
WHERE
    (
        a.INCOMPLETED_FIELD IS NULL AND a.id > r.research_uid
    );

"a.INCOMPLETED_FIELD" - ваш неполный столбец в таблице accounts, я не уверен, что предполагается, но Я полагаю, что это может помочь вам.

* Обратите внимание, что для хорошей практики вставьте в столбец "a_id", а не в "ID".

...