Возможно ли создать новый столбец в результате запроса на основе списка идентификаторов? - PullRequest
0 голосов
/ 12 апреля 2019

У меня следующий запрос

SELECT * FROM cellphones;

этот запрос возвращает что-то вроде этого:

 cellphone_id  | cellphone_name    |  width  |  height
   232        |   Motorola     |  1920   |   1080  
   434        |   Samsung      |  720    |   1280 
   342        |   Apple        |  1440   |   2560 

Я бы хотел, чтобы в моем запросе был указан список мобильных телефонов (например, cellphone =232,342), и этот запрос добавляет новый столбец с именем 'isFavorite' и устанавливает в качестве ИСТИННОГО значения только те телефоны, которые содержатся в списке, который я передаю в запросе.

ПРИМЕЧАНИЕ. Я не хочу создавать / обновлять что-либо в моей таблицеЯ хотел бы вернуть только это в моем результате запроса.

Я делаю что-то вроде этого:

SELECT * FROM cellphones
SET isFavorite=1 
WHERE cellphone_id IN (232,342)

, и результат должен быть таким:

 cellphone_id  | cellphone_name  |  width  |  height | isFavorite
   232         |   Motorola      |  1920   |   1080  |    1
   434         |   Samsung       |  720    |   1280  |    0
   342         |   Apple         |  1440   |   2560  |    1

Я пытался сделать это, но не работает:

SELECT * FROM cellphones
SET isFavorite=1 
WHERE cellphone_id IN (232,342)

Не могли бы вы помочь построить этот запрос?

Большое спасибо.:)

1 Ответ

3 голосов
/ 12 апреля 2019

Вы можете использовать случай, когда .. end

SELECT cellphones.*, case when cellphone_id IN (232,342) then 1 else 0  end  isFavorite
FROM cellphones
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...