Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как передать данные из подзапроса в запрос? / 6 сообщений из 6, страница 1 из 1
23.07.2017, 16:59
    #39493602
Валодя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать данные из подзапроса в запрос?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SELECT SQL_CALC_FOUND_ROWS
  *,
  (
  SELECT
    offers_meta.meta_value
  FROM
    offers_meta
  WHERE
    offers_meta.meta_name = 'nacenka' AND offers.offer_id = offers_meta.offer_id 
  ORDER BY
    offers_meta.id
  LIMIT 1
) AS lastprice
FROM
  offers
WHERE
  (lastprice IS NOT NULL) or (
    offers.master = 0 OR offers.master = 4
  ) AND offers.hold < 1500817610 AND offers.status = 'on sale'
ORDER BY
  offers.price
DESC
LIMIT 0, 25


Не получается добавить условие (lastprice IS NOT NULL)
...
Рейтинг: 0 / 0
23.07.2017, 21:47
    #39493688
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать данные из подзапроса в запрос?
...оберните SELECT *, (подзапрос) FROM... еше одним СЕЛЕКТОМ и делайте
WHERE , сортировку и лимит во внешнем (новом) селекте...

(запрос может быть медленым...но про скорость вроде пока не спрашивали)

Код: sql
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.
29.
30.
31.
SELECT SQL_CALC_FOUND_ROWS
*
FROM

(SELECT
  *,
  (
  SELECT
    offers_meta.meta_value
  FROM
    offers_meta
  WHERE
    offers_meta.meta_name = 'nacenka' 
AND offers.offer_id = offers_meta.offer_id 
  ORDER BY    offers_meta.id
  LIMIT 1
) AS lastprice
FROM
  offers
WHERE
      offers.hold < 1500817610 
AND offers.status = 'on sale'

) zz

WHERE 
     zz.lastprice IS NOT NULL 
OR zz.master IN (0,4)

ORDER BY  zz.price DESC
LIMIT 0, 25
...
Рейтинг: 0 / 0
23.07.2017, 22:58
    #39493700
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать данные из подзапроса в запрос?
Перепишите запрос, избавьтесь от подзапроса, используйте связывание и группировку.
...
Рейтинг: 0 / 0
24.07.2017, 13:45
    #39493945
Валодя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать данные из подзапроса в запрос?
вот тут вторая версия того же скрипта - рабочая но не могу сделать limit и подсчёт
...
Рейтинг: 0 / 0
24.07.2017, 14:31
    #39493982
Валодя
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать данные из подзапроса в запрос?
javajdbc,

запрос на пол секунды - долго
мой вариант без (lastprice IS NOT NULL) 0,03
...
Рейтинг: 0 / 0
24.07.2017, 16:28
    #39494062
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать данные из подзапроса в запрос?
Валодяjavajdbc,

запрос на пол секунды - долго
мой вариант без (lastprice IS NOT NULL) 0,03

7543220 логика T1 ,если все равно медлено
то выдаваите DDL, explain, индексы....
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как передать данные из подзапроса в запрос? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]