Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Можно ли сделать выборку одним запросом? (Михаил) 30/01/2014 - 23:11:17
      Re: Да легко... (Akina) 31/01/2014 - 09:21:41
      Re: Пожалуйста (Михаил) 31/01/2014 - 10:39:24
      Re: Начнём... (Akina) 31/01/2014 - 14:13:23
      Re: Далее... (Akina) 31/01/2014 - 14:23:04
      Re: Далее... (Akina) 31/01/2014 - 14:23:27
      Re: Тормозим... (Akina) 31/01/2014 - 14:27:10
      Re: Тормозим... (Akina) 31/01/2014 - 14:30:25
      Re: Ну и... (Akina) 31/01/2014 - 14:34:59
      Re: Послесловие (Akina) 31/01/2014 - 14:40:12
      Re: Супер! (Михаил) 31/01/2014 - 18:11:30
      Re: Теперь другая проблема.((( (Михаил) 03/02/2014 - 10:54:48
      Re: Решено (Михаил) 03/02/2014 - 11:22:10
      Re: А нафига? (Akina) 03/02/2014 - 11:33:46
      Re: Не понял? (Михаил) 03/02/2014 - 15:25:51
      Re: Понял.))) (Михаил) 03/02/2014 - 15:27:24

> Original message text:
> From: Михаил - 30/01/2014 - 23:11:17
> Subject:Можно ли сделать выборку одним запросом?
> -----------------
> Есть таблица orders с полями (id, number_id, amount, free, client)
> id
> number_id - номер сводного заказа
> amount - количество
> free - отгрузка бесплатно
> client_id - ID клиента
>
> Нужно сравнить два сводных заказа между собой и вывести отличия. Не соображу можно ли это сделать одним запросом.
> С помощью PHP всё решается перебором, но хочется попробовать чисто в MYSQL.
> Проблема в том, что в сводных заказах могут отсутствовать те или иные клиенты.
> Может посоветуете что-нибудь?
>


From: Михаил - 03/02/2014 - 15:25:51
Subject:Не понял?
-----------------
Последняя предложенная запись выглядела так:

SELECT view1.partner_id, t3.quantity - t2.quantity delta, view1.free
FROM (
SELECT DISTINCT t1.partner_id, t1.free
FROM orders t1
WHERE number_id IN (36,38)
) view1
LEFT JOIN orders t2 ON t2.number_id = 36 AND t2.partner_id = view1.partner_id AND t2.free = view1.free
LEFT JOIN orders t3 ON t3.number_id = 38 AND t3.partner_id = view1.partner_id AND t3.free = view1.free
WHERE t2.quantity != t3.quantity;

Она обращается к view1. Значит его нужно создать.
Или я чего то не понимаю?


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
43050



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |