SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 12.06.2015 00:13:00

Heroes
Участник
Зарегистрирован: 12.06.2015
Сообщений: 6

UPDATE и SELECT в одном запросе не совместимы.

Есть две таблицы:
REGISTER
ID    CODE    STATUS                    TM_CODE
1    3254873    Active            Tm_1
2    1234345    Active            Tm_2
3    2342344    Disconnected    Tm_1
4    2342355    Active            Tm_3

TM_LIST
ID    TM_CODE    COST
1    Tm_1           110
2    Tm_2           140
3    Tm_3           120

С помощью SQL нужно получить такую таблицу
RESULT
CODE    COST
3254873    110
1234345    140
2342355    Tm_3

Если сделать селект то получим
CODE    COST
3254873    110
1234345    140
2342355    120
А нужно еще каким-то образом поменять поле  120 на Tm_3.
UPDATE в одном запросе с SELECT несовместимы. Гуру, подскажите как решить такую задачу?

Неактивен

 

#2 12.06.2015 01:11:37

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: UPDATE и SELECT в одном запросе не совместимы.

Неактивен

 

#3 12.06.2015 10:00:52

Heroes
Участник
Зарегистрирован: 12.06.2015
Сообщений: 6

Re: UPDATE и SELECT в одном запросе не совместимы.

а помочь с кодом кто-то сможет?

Неактивен

 

#4 12.06.2015 11:16:39

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: UPDATE и SELECT в одном запросе не совместимы.

А по какому критерию 120 превращается в tm_3? Почему, например, 140 не превращается в tm_2?

С помощью SQL нужно получить такую таблицу

Нужно, чтобы именно таблица создалась с такими данными или нужен результат в виде select-запроса?


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 12.06.2015 11:25:49

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: UPDATE и SELECT в одном запросе не совместимы.

Что касается кода - пруфлинком же помогли wink.

Наверное имелось в виду нечто подобное:

SELECT r.CODE, if(t.COST=120,'Tm_3',t.COST) FROM REGISTER r JOIN TM_LIST t USING(TM_CODE);


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#6 12.06.2015 11:26:09

Heroes
Участник
Зарегистрирован: 12.06.2015
Сообщений: 6

Re: UPDATE и SELECT в одном запросе не совместимы.

>А по какому критерию 120 превращается в tm_3?
-- такая задача, критерий умалчивается
>Нужно, чтобы именно таблица создалась с такими данными или нужен результат в виде select-запроса?
-- нужен SQL запрос, который бы дал вышеуказанный RESULT

Неактивен

 

#7 12.06.2015 11:42:07

Heroes
Участник
Зарегистрирован: 12.06.2015
Сообщений: 6

Re: UPDATE и SELECT в одном запросе не совместимы.

deadka написал:

Наверное имелось в виду нечто подобное:

SELECT r.CODE, if(t.COST=120,'Tm_3',t.COST) FROM REGISTER r JOIN TM_LIST t USING(TM_CODE);

ругается что ошибка ситаксиса в предложении FROM

Неактивен

 

#8 12.06.2015 11:53:19

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: UPDATE и SELECT в одном запросе не совместимы.

Как именно ругается?
Попробуйте так:

SELECT r.`CODE`, if(t.`COST`=120,'Tm_3',t.`COST`) FROM `REGISTER` r JOIN `TM_LIST` t USING(`TM_CODE`);


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#9 12.06.2015 13:08:39

Heroes
Участник
Зарегистрирован: 12.06.2015
Сообщений: 6

Re: UPDATE и SELECT в одном запросе не совместимы.

отакая ошибка Microsoft Office Access 2003

Отредактированно Heroes (12.06.2015 13:11:13)


Прикрепленные файлы:
Attachment Icon ошибка.bmp, Размер: 105,822 байт, Скачано: 1,198

Неактивен

 

#10 12.06.2015 14:02:07

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: UPDATE и SELECT в одном запросе не совместимы.

При чем тут Access? Мы вроде как на форуме по mysql находимся wink
см http://sqlinfo.ru/forum/viewtopic.php?id=679, пункт 11


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#11 12.06.2015 14:43:31

Heroes
Участник
Зарегистрирован: 12.06.2015
Сообщений: 6

Re: UPDATE и SELECT в одном запросе не совместимы.

спасибо, буду более внимательный ))

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson