Gssankar Ответов: 1

Как я terate результата Select в MySQL


Привет Команда,

Мне нужно повторить замену первого столбца на второй, когда условие совпадает.

см. приведенный ниже скриншот

Project

1018439 - 2018 Low Income State Resource
01343-067_Alaska
01343-067_New Hampshire
01343-067_Mississippi
01343-067_District of Columbia
01343-067_New Mexico



batchBookID	                         jf
1018439 - 2018 Low Income State Resource	01343-067_Alaska
	                                        01343-067_New Hampshire
	                                        01343-067_Mississippi
	                                        01343-067_District of Columbia


Что я уже пробовал:

for(Map<String,Object> eachRow:tableContent)
            {
                if(eachRow.get("batchBookID")==""){
                    String batchBookID = eachRow2.get("batchBookID").toString();
                    eachRow2.clear();
                    eachRow2.put("batchBookID", batchBookID);
                    eachRow.put("batchBookID", eachRow.get("jf_016"));

}}

Gssankar

Я пробовал на java, но мне нравится делать это в mysql, так как производительность низкая

1 Ответов

Рейтинг:
0

Wendelius

Не уверен, правильно ли я понимаю этот вопрос, но вы, вероятно, могли бы использовать инструкцию UPDATE. Что-то вроде следующего

UPDATE TableName a
SET BatchBookId = '1018439 - 2018 Low Income State Resource'
WHERE (BatchBookId IS NULL OR BatchBookId  = '')
AND EXISTS (SELECT 1
            FROM Project P
            WHERE TableName.JF = p.Column1)

Вам нужно настроить имена таблиц и столбцов в соответствии с именами в вашей схеме базы данных.