Как объединить эти запросы

  • Автор темы Rasil
  • 56
  • Обновлено
  • 12, May 2024
  • #1
Всем привет,

Вот запросы,

«выберите * из продукта WHERE LastName, например concat(?, '%')»

«Выберите concat(FirstName, '', LastName) в качестве FullName, Product_id из продукта присоединения клиента, где customerId = id»

Оба запроса работают индивидуально, когда я пытаюсь их объединить, я не могу получить никаких результатов.

Я хочу объединить два вышеуказанных запроса, где пользователь вводит «Полное имя», и он должен отображать результат.

Мой второй вопрос заключается в том, как заполнять результаты сопоставления.

Я имею в виду, что когда пользователи начинают вводить текст, должны отображаться результаты сопоставления, где пользователи могут выбирать имена.

Как я могу это сделать? Я действительно ценю твою помощь. Примечание.

Я работаю с Groovy.

Rasil


Рег
11 Feb, 2014

Тем
1

Постов
3

Баллов
13
  • 20, May 2024
  • #2
Мои извинения, это была ошибка при наборе текста, я просто напечатал это из головы.

я не правильно очистил

Имена таблиц: «Клиент» и «Продукт».

Поля таблицы клиентов: «Имя, Фамилия, Идентификатор клиента».

Поля таблицы продуктов: PrdouctId, ProductName, PersonId (то же самое, что CustomerId из таблицы Customer).

Приведенный ниже запрос работает, когда пользователь вводит фамилию Клиента.

Вместо «Фамилии» клиенты должны иметь возможность вводить имя и фамилию в поле ввода.

Когда клиент вводит полное имя, он должен извлечь данные из обеих таблиц (Клиент и Продукт).

выберите Имя, Фамилию, CustomerId из Customer WHERE LastName, например concat(?, '%')"

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

«Выберите concat(FirstName, '', LastName) в качестве FullName, ProductId из продукта присоединения клиента, где CustomerId = PersonId;

Моя проблема в том, что я хочу включить эту часть пользовательского ввода (ГДЕ FullNmae, например concat(?, '%'). Эта часть важна, потому что я хочу, чтобы пользователь ввел имя, которое есть в нашей базе данных, и тогда он извлечет данные.

Подводя итог, я хочу объединить приведенный ниже запрос в один, и я хочу, чтобы условие было в виде полного имени: всякий раз, когда вы вводите полное имя, оно должно отображать результаты.

Как я могу этого добиться.

Выберите concat(FirstName, '', LastName) в качестве FullName, ProductId из продукта присоединения клиента, где CustomerId = PersonId;

ГДЕ FullNmae, например concat(?, '%')

Это Groovy, язык программирования, сценарий groovy работает нормально, поскольку работает с одной таблицей.

Я очень ценю вашу помощь, спасибо
 

Littleflo


Рег
18 Nov, 2010

Тем
1

Постов
3

Баллов
13
  • 21, May 2024
  • #3
Я понятия не имею, что такое Groovy в этом контексте, но SQL есть SQL... У «Продуктов» есть фамилия? В ваших таблицах первая буква написана случайным образом, или есть причина, по которой у клиентов есть C, а у продуктов — p? Попробуй это
 select product.*, concat(Customer.FirstName,' ', Customer.LastName) as FullName
from Customer
left join product on Customer.id = product.customerId
Код (разметка): Что касается того, как создать поле автозаполнения, это зависит от того, какие библиотеки JavaScript вы используете, если таковые имеются. =================== это тот Groovy, о котором ты говорил?
 

limyh


Рег
21 Jan, 2016

Тем
1

Постов
3

Баллов
13
  • 12, Jun 2024
  • #4
Обновлять.... Я использовал ваш запрос и добавил добавленное предложениеwhere, оно работает, если я ввожу CustomerId или PersonId в качестве входных данных.

Как я могу ввести полное имя в качестве входных данных? Есть ли способ ввести полное имя в качестве ввода и отобразить результаты? Я имею в виду, как можно использовать FullName с предложениемwhere, если его нет в таблице? Я попробовал, но никаких результатов не дал.

Ниже приведен рабочий запрос. «SELECT Product.*, concat(FirstName,' ', LastName) как полное имя, CustomerId от клиента, оставленного клиентом, присоединяйтесь к продукту на PersonId = CustomerId WHERE CustomerId, например concat(?, '%')"
 

Sneaky


Рег
01 Jan, 2011

Тем
1

Постов
2

Баллов
12
Тем
49554
Комментарии
57426
Опыт
552966

Интересно