#java #mysql #sql #subquery
Вопрос:
Я новичок в sql, и мне нужна помощь в этом случае с помощью подзапроса.
В этом случае мне нужно захватить все идентификаторы клиентов под Амандой и Уамандой.Но теперь у меня есть только этот идентификатор клиента 100456.
Как я могу использовать этот подзапрос CustomerID 100456 combain, чтобы получить все данные в разделе Аманда и УАманда.
Ниже приведена таблица
Идентификатор пользователя | Имя входа |
---|---|
100456 | Аманда |
101287 | УАманда |
102458 | Оливер |
103658 | Льюис |
Это мой подзапрос
select customer_id,login_name
from
(select tc.customer_id, tc.login_name from t_customers tc where tc.login_name = login_name)
where t_customers where customer_id = 100456;
но это вернуло мне только Аманду со 100456, остальные УАманда не вернулись.
Может ли кто-нибудь помочь мне в этом вопросе?
Это ожидаемый результат, которого я хочу
Идентификатор пользователя | Имя входа |
---|---|
100456 | Аманда |
101287 | УАманда |
Комментарии:
1. Пожалуйста, укажите фактический запрос, который вы используете.
Ответ №1:
SELECT customer_id, login_name FROM t_customers WHERE login_name LIKE '%Amanda';
Комментарии:
1. Мой ответ работает, я хотел показать использование LIKE, но строгий ответ на ваш вопрос-это ответ от @pcsutar, который не вернет xAmanda, как у меня … ваш окончательный выбор зависит от вашей реальной потребности.
Ответ №2:
Если вы хотите захватить все идентификаторы клиентов под Амандой и Уамандой, то я думаю, что нет необходимости в подзапросе. Вы можете получить результат, используя приведенный ниже запрос:
select customer_id, login_name
from t_customers
where login_name in ('Amanda', 'UAmanda');
Ответ №3:
Учитывая, что вы говорите, что у вас есть только данные customer_Id
, я считаю, что вам нужно следующее:
select *
from customers
where login_name like (
select Concat('%',Login_Name,'%')
from customers
where Customer_Id=100456
)