Синтаксическая ошибка как в чем проблема sql - PullRequest
0 голосов
/ 03 октября 2019
create table salesman(
salesman_id Numeric(5) primary key,
name varchar(30),
city varchar(15),
commission decimal(3,2)   
);

insert into salesman(salesman_id,name,city,commission)
values  
 (5001, "James Hoog", "New York", 0.15),
 (5002 , "Nail Knite" , "Paris" , 0.13),
 (5005 , "Pit Alex" , "London" , 0.11),
 (5006 , "Mc Lyon" , "Paris" , 0.14),
 (5007 , "Paul Adam" , "Rome" , 0.13),
 (5003 , "Lauson Hen" , "San Jose" , 0.12)
 ;

select name
from salesman
where city = any ("New York","London","Rome");

почему появляется ошибка 1064, когда все кажется правильным, я просто хочу получить имя продавца, принадлежащее к одному из вышеупомянутых городов.

1 Ответ

2 голосов
/ 03 октября 2019

Ошибка 1064 является синтаксической ошибкой для MySQL. Ваш синтаксис неверен, потому что вы не можете использовать ЛЮБОЙ оператор без подзапроса. Правильный синтаксис будет использовать оператор IN следующим образом:

SELECT name FROM salesman WHERE city IN ('New York','London','Rome');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...