Автор Тема: Непростой запрос  (Прочитано 2179 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Непростой запрос
« : 15 Октября 2003, 19:31:05 »
Есть запрос:
SELECT COUNT(*) FROM customers c, orders o, order_items oi, products p WHERE o.cid=c.cid AND oi.oid=o.oid AND oi.productid=p.productid AND p.groupid=2 AND MONTH(FROM_UNIXTIME(o.ordertime)) = MONTH(NOW()) AND YEAR(FROM_UNIXTIME(o.ordertime)) = YEAR(NOW()) AND c.cid IS NOT NULL");
Теперь мне нужно вставить сюда еще одно условие.
(SELECT COUNT(*) FROM subscription_history sh WHERE sh.oid=o.oid) = 1
Есть идеи как это написать?
ЗЫ. MySQL ниже 4-й версии
The documentations is your friend

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Непростой запрос
« Ответ #1 : 15 Октября 2003, 22:18:04 »
имхо копать нужно примерно сюда :

SELECT COUNT(*) FROM
   customers c,
   orders o,
   order_items oi,
   products p,
   [b]COUNT(sh.*) as count[/b]
WHERE
   o.cid=c.cid AND
   oi.oid=o.oid AND
   oi.productid=p.productid AND
   p.groupid=2 AND
   MONTH(FROM_UNIXTIME(o.ordertime)) = MONTH(NOW()) AND
   YEAR(FROM_UNIXTIME(o.ordertime)) = YEAR(NOW()) AND
   c.cid IS NOT NULL [b]AND
   sh.oid=o.oid
GROUP BY sh.oid
HAVING count = 1[/b];
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Непростой запрос
« Ответ #2 : 16 Октября 2003, 11:10:52 »
Сенкс- как дети в школу.
Будеш в Киеве.. сам понимаеш ;).
Еще раз сенкс.
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28