powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Построение запроса
11 сообщений из 11, страница 1 из 1
Построение запроса
    #38855306
Nelzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.

Есть 1) запрос

Код: sql
1.
select * from `deals` inner join `tagging_tagged` on `tagging_tagged`.`taggable_id` = `deals`.`id` where `deals`.`deleted_at` is null and `tagging_tagged`.`taggable_type` = 'Deals' and `tagging_tagged`.`tag_name` in ('222') group by `deals`.`id`



Есть 2) запрос

Код: sql
1.
SELECT * FROM `deals` WHERE `deals`.`deleted_at` is null 



Как мне теперь после is null второго запроса пихнут первый запрос?

Чтоб работало примерно так
Код: sql
1.
2.
3.
SELECT * FROM `deals` WHERE `deals`.`deleted_at` is null 
and  inner join `tagging_tagged` on `tagging_tagged`.`taggable_id` = `deals`.`id` 
and  `tagging_tagged`.`taggable_type` = 'Deals' and `tagging_tagged`.`tag_name` in ('222') group by `deals`.`id`
...
Рейтинг: 0 / 0
Построение запроса
    #38855487
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NelzzКак мне теперь после is null второго запроса пихнут первый запрос?

Чтоб работало примерно так
Первый запрос именно так и работает. А чем он не устраивает, собсно?
...
Рейтинг: 0 / 0
Построение запроса
    #38855734
Nelzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaNelzzКак мне теперь после is null второго запроса пихнут первый запрос?

Чтоб работало примерно так
Первый запрос именно так и работает. А чем он не устраивает, собсно?

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

У меня подстраиваться разные запросы.
Код: sql
1.
SELECT * FROM `tasks` WHERE `tasks`.`deleted_at` is null and $var



В общем мне надо чтоб бы в таком виде работал

Код: sql
1.
2.
3.
SELECT * FROM `deals` WHERE `deals`.`deleted_at` is null 
and  inner join `tagging_tagged` on `tagging_tagged`.`taggable_id` = `deals`.`id` 
and  `tagging_tagged`.`taggable_type` = 'Deals' and `tagging_tagged`.`tag_name` in ('222') group by `deals`.`id`
...
Рейтинг: 0 / 0
Построение запроса
    #38855782
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗАЧЕМ? Всё равно условие будет перенесено в общую секцию условий - сервер не станет строить план запроса по твоей хотелке, сам он это сделает лучше.
Нет, именно желаемое тобой вполне реализуемо:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT * FROM 
( SELECT * 
  FROM `deals` 
  WHERE `deals`.`deleted_at` IS NULL
) `deals2`
INNER JOIN `tagging_tagged` ON `tagging_tagged`.`taggable_id` = `deals2`.`id` 
WHERE  `tagging_tagged`.`taggable_type` = 'Deals' 
AND `tagging_tagged`.`tag_name` IN ('222') 
GROUP BY `deals2`.`id`


но работать будет не быстрее, чем
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT * 
FROM `deals` 
INNER JOIN `tagging_tagged` ON `tagging_tagged`.`taggable_id` = `deals`.`id` 
WHERE `deals`.`deleted_at` IS NULL 
AND  `tagging_tagged`.`taggable_type` = 'Deals' 
AND `tagging_tagged`.`tag_name` IN ('222') 
GROUP BY `deals`.`id`


а скорее всего даже медленнее.

Так что остаётся вопрос - НАХУА?
...
Рейтинг: 0 / 0
Построение запроса
    #38855853
Nelzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaЗАЧЕМ? Всё равно условие будет перенесено в общую секцию условий - сервер не станет строить план запроса по твоей хотелке, сам он это сделает лучше.
Нет, именно желаемое тобой вполне реализуемо:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT * FROM 
( SELECT * 
  FROM `deals` 
  WHERE `deals`.`deleted_at` IS NULL
) `deals2`
INNER JOIN `tagging_tagged` ON `tagging_tagged`.`taggable_id` = `deals2`.`id` 
WHERE  `tagging_tagged`.`taggable_type` = 'Deals' 
AND `tagging_tagged`.`tag_name` IN ('222') 
GROUP BY `deals2`.`id`


но работать будет не быстрее, чем
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT * 
FROM `deals` 
INNER JOIN `tagging_tagged` ON `tagging_tagged`.`taggable_id` = `deals`.`id` 
WHERE `deals`.`deleted_at` IS NULL 
AND  `tagging_tagged`.`taggable_type` = 'Deals' 
AND `tagging_tagged`.`tag_name` IN ('222') 
GROUP BY `deals`.`id`


а скорее всего даже медленнее.

Так что остаётся вопрос - НАХУА?

Я уже объяснил после
Код: sql
1.
SELECT * FROM `tasks` WHERE `tasks`.`deleted_at` is null and $var 

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

Запрос может идти так
Код: sql
1.
SELECT * FROM `tasks` WHERE `tasks`.`deleted_at` is null  AND DATE(`created_at`) BETWEEN '2015-01-10' AND '2015-01-16'



и так
Код: sql
1.
SELECT * FROM `tasks` WHERE `tasks`.`deleted_at` is null AND `user_id` IN (1,3)



и так
Код: sql
1.
SELECT * FROM `tasks` WHERE `tasks`.`deleted_at` is null AND `user_id` IN (1,3) AND DATE(`created_at`) BETWEEN '2015-01-15' AND '2015-01-15' AND `responsible_ids` IN (1,3)



и так
Код: sql
1.
SELECT * FROM `tasks` WHERE `tasks`.`deleted_at` is null   AND `responsible_ids` IN (1,3)



заметил в начале идет SELECT * FROM `tasks` WHERE `tasks`.`deleted_at` is null

НАХУА это нужен?) Для фильтра)
...
Рейтинг: 0 / 0
Построение запроса
    #38855898
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nelzzв переменном идет разные запросы инпутов если инпута нету,такой запрос не идет. В запросе идет те инпуты который значение есть и по нему строиться запрос.
Это вполне спокойно шаблонизируется конструкцией типа (в терминах PHP-скрипта, строящего строку запроса)
Код: sql
1.
WHERE (`field` = '$var' OR '$var' = '')


Если в "инпуте" ничего не передано - в $var лежит пустая строка, истинна вторая часть условия и следовательно, всё условие, причём это вычисляется сравнением констант-литералов ещё на стадии построения плана.
Если там что-то передано - то вторая часть ложна и просто игнорируется, что опять-таки вычисляется на стадии построения плана.
...
Рейтинг: 0 / 0
Построение запроса
    #38856125
Nelzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaNelzzв переменном идет разные запросы инпутов если инпута нету,такой запрос не идет. В запросе идет те инпуты который значение есть и по нему строиться запрос.
Это вполне спокойно шаблонизируется конструкцией типа (в терминах PHP-скрипта, строящего строку запроса)
Код: sql
1.
WHERE (`field` = '$var' OR '$var' = '')


Если в "инпуте" ничего не передано - в $var лежит пустая строка, истинна вторая часть условия и следовательно, всё условие, причём это вычисляется сравнением констант-литералов ещё на стадии построения плана.
Если там что-то передано - то вторая часть ложна и просто игнорируется, что опять-таки вычисляется на стадии построения плана.

У нас так и работает. Если в инпуте нечего нету,запроса соответственно не идет. Сверху and это каждый запрос инпута,значение который есть.

И этот join тэга тоже нужно пихнут как эти запросы.

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

не понятно WHERE (`field` = '$var' OR '$var' = '')

Думаю теперь вы меня поняли.
...
Рейтинг: 0 / 0
Построение запроса
    #38856572
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NelzzДумаю теперь вы меня поняли.Нет.
...
Рейтинг: 0 / 0
Построение запроса
    #38856887
Nelzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaNelzzДумаю теперь вы меня поняли.Нет.

Повод уйти из дискуссии?) Что вам не понятно?
...
Рейтинг: 0 / 0
Построение запроса
    #38856975
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NelzzНАХУА это нужен?) Для фильтра)
Мне кажется, что для фильтра - вам достаточно почитать про EXISTS
...
Рейтинг: 0 / 0
Построение запроса
    #38857107
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NelzzЧто вам не понятно?Пока ничего не понятно. Я сделал два предположения, и ни разу не получил подтверждения, что понял правильно.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Построение запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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