Я искал решение этой проблемы с выбором, но не смог найти его.MySQL выберите 1 результат из нескольких таблиц и значение MAX из 1 таблицы, имеющей несколько значений
У меня есть несколько таблиц, где мне нужно сделать один большой выбор. К сожалению, одна таблица содержит допустимые значения mulitple. Но нужно только самое высокое значение.
Table 1: customer (fields: ID | customer_id | Name)
values: (1, 1, Customer_name)
Table 2: address (fields: ID | customer_id | address_id | address | order_id)
values: (1, 1, 1, Streetname_Home, null) and (2, 1, 2, Streetname_Shipping, 2)
Table 3: order (fields: order_id | customer_id)
values: (2, 1)
Это чрезвычайно упрощенный пример реальной ситуации и только для иллюстрации проблемы.
Проблема заключается в том, что таблица адресов может содержать 2 адреса (или более) для каждого клиента. Отбор должен выбрать все, от клиента, из таблицы клиентов. И чем использовать наивысший адрес_ид из таблицы адресов. И все из таблицы заказов.
Так что я сейчас:
Select
customer.*,
address.*,
order.*
from
customer left join
address on (customers.customers_id = address.customers_id) left join
order on (order.order_id = customer.order_id)
where order.ID = 1;
Как есть 2 адреса в этом примере (дом и доставка) Мне нужно только выбрать, чтобы использовать адрес с наибольшим значением address_id. Как прикрепленный к этому адресу order_id.
Так, на основе address_id необходимо получить order_id, чтобы связать выбор в таблице заказов.
Любая помощь приветствуется.
Изменить ГДЕ И - и порядок является зарезервированным словом, так что вам нужно сделать что-то о том, что слишком – Strawberry
Пожалуйста, дайте больше данных выборки , Перейдите на SQLFiddle.com и загрузите некоторые примеры данных. Также предоставите образец вывода. (Вы можете просто предоставить нам список первичных ключей в строке в ожидаемом наборе результатов.) Ваша реализация таблицы адресов кажется странной. Я имел дело с схемами, в которых таблица заказов имеет внешний ключ в таблице адресов (т. Е. Один адрес может быть связан с одним или несколькими заказами). Ваша модель данных кажется обратной: один заказ может быть связан с одним или несколькими адресами , – AgRizzo
Привет, спасибо за ответы, поскольку проект, над которым я работаю, состоит из множества других таблиц, я старался держать его простым. Итак, я понимаю, что структуры таблиц нелогичны. http://www.sqlfiddle.com/#!2/c658c/4/0 На основании столбца Ordinal мне нужно получить needthis_id для дальнейшего выбора данных. – Giancarlo