Бред


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
162 20 22

Аноним 01/08/20 Суб 21:55:25 2259074551
ЛижетУхо.mp4 (12993Кб, 824x464, 00:01:06)
824x464
Поют.mp4 (7164Кб, 540x960, 00:00:54)
540x960
Сап, программач.

Пишу свой простенький фильтр для интернет магазина. Помогите пожалуйста с запросом.

Для начала опишу упрощенно структуру БД. Не обращайте внимания на некоторую избыточность, это сделано для упрощения запросов. Таблицы разбил по группам, чтобы выделить жирным отдельные поля, которые значат одно и то же.

products - id, name - таблица с товарами
subproducts - id, productid, price - таблица подтоваров. Просто у меня в один товар входит несколько подтоваров, каждый может иметь свою цену и определяется по количеству фильтров

filters - id, name - таблица с группой фильтров. Этой таблицей мы характеризуем группу фильтров, например, "цвет"
filter_parameters - id, filterid, value - это конкретно сами фильтры, разбитые по группам и имеющие значения

subproduct_filter_values - id, productid, subproductid, valueid - это таблица, которая в себе связывает айди подтовара с айди фильтра.

Сперва я сделал вот такой запрос (выделил жирным часть запроса с фильтрами):
SELECT FROM `products` LEFT JOIN `subproduct_filter_values` as `t2` ON `products`.`id`=`t2`.`productid` WHERE `hidden`=0 and (`catid`=11 or `catid`=12 or `catid`=13) and `price`>50 and `price`<5000 and ( `t2`.`valueid`=20 or `t2`.`valueid`=21) and ( `t2`.`valueid`=33 or `t2`.`valueid`=34) GROUP BY products.`id` ORDER BY `ord` DESC

И мне показалось, что работает. Но потом я отправил запрос, добавив ещё фильтр:
SELECT
FROM `products` LEFT JOIN `subproduct_filter_values` as `t2` ON `products`.`id`=`t2`.`productid` WHERE `hidden`=0 and (`catid`=11 or `catid`=12 or `catid`=13) and `price`>50 and `price`<5000 and ( `t2`.`valueid`=12 or `t2`.`valueid`=13 or `t2`.`valueid`=19 or `t2`.`valueid`=20 or `t2`.`valueid`=21) and ( `t2`.`valueid`=33 or `t2`.`valueid`=34) GROUP BY products.`id` ORDER BY `ord` DESC

Видите, там фильтры перебираются через условия or? Если фильтры относятся к одной группе, то логично конечно or, но между группами фильтров мне надо and!

Тогда я снова переписал запрос:
SELECT * FROM `products` LEFT JOIN `subproduct_filter_values` as `t2` ON `products`.`id`=`t2`.`productid` WHERE `hidden`=0 and (`catid`=11 or `catid`=12 or `catid`=13) and `price`>50 and `price`<5000 and ( `t2`.`valueid`=16 or `t2`.`valueid`=17) and ( `t2`.`valueid`=33 or `t2`.`valueid`=34) GROUP BY products.`id` ORDER BY `ord` DESC

Я уже предвкушал как всё заработает, но нихуя не заработало. Ведь я обращаюсь к единственному параметру, а он не может быть одновременно иметь два и более значений. Помогите запрос составить пожалуйста. Блин, не знаю как объяснить точнее, я тупой хлебушек. Спрашивайте, постараюсь ответить на вопросы
Аноним 01/08/20 Суб 21:58:19 2259076212
бамп
Аноним 01/08/20 Суб 22:01:00 2259077853
бамп
Аноним 01/08/20 Суб 22:01:17 2259078044
>>225907455 (OP)
Нахуй ты на голом SQL пишешь? На чем там этот твой интернет-магазин? Разве там нет какой-нибудь ORM?

>( `t2`.`valueid`=16 or `t2`.`valueid`=17) and ( `t2`.`valueid`=33 or `t2`.`valueid`=34)

> (x = a or x = b) and (x = c or x = d)

Это же противоречивое условие, как так вышло, током ебнуть? Перестань думать в терминах фильтров и думай в терминах предикатов.
Аноним 01/08/20 Суб 22:03:07 2259079305
>>225907804
>Нахуй ты на голом SQL пишешь? На чем там этот твой интернет-магазин? Разве там нет какой-нибудь ORM?
На пыхе пишу.

>Это же противоречивое условие, как так вышло, током ебнуть?
Ну вот так. Как исправить? :с
Аноним 01/08/20 Суб 22:05:09 2259080586
бамп
Аноним 01/08/20 Суб 22:06:36 2259081527
Роллер.mp4 (10505Кб, 640x800, 00:00:55)
640x800
бамп
Аноним 01/08/20 Суб 22:08:22 2259082668
ГенииЧистогоРаз[...].webm (18991Кб, 848x472, 00:01:28)
848x472
бамп
Аноним 01/08/20 Суб 22:09:22 2259083379
Объясни, что ты пытаешься сделать, нормальным языком, и я, так и быть, подскажу.

нихуя не шарю в порнографировании, но ущербную логику вижу
Аноним 01/08/20 Суб 22:14:09 22590864710
>>225908337
А, я понял всё. Короче, у тебя фильтры построены на айди, которые не могут принимать два значения одновременно. Так переделай фильтры так, чтобы они искали искомый продукт не по айди, а по его параметру, например, цвету. То есть ты сейчас буквально написал:

(товар = 1 или товар = 2) И (товар = 3 или товар = 4)

А нужно так

(товар.цвет = красный или товар.цвет = серобуромалиновый) И (товар.размер = как мой хуй или товар.размер = как жопа моей мамы)
Аноним 01/08/20 Суб 22:15:25 22590872411
>>225908337
Хочу запросом получить список товаров, удовлетворяющих условиям фильтра.

>Объясни, что ты пытаешься сделать, нормальным языком
Не получается почему-то. Вроде головой понимаю, а объяснить не могу. Поэтому структуру таблиц вкинул.

Окей, попробую так. Скриптом я отправляю массив фильтров, например, вот такой массив:

Это фильтр №1
filter[1][0] = 12 - нулевой элемент массива со значением 12
filter[1][1] = 13 - первый элемент массива со значением 13
Это фильтр №2
filter[2][0] = 22 - нулевой элемент массива со значением 22
filter[2][1] = 45 - первый элемент массива со значением 45

Мне надо каким-то боком выдернуть товары, удовлетворяющие этим условиям Как запрос бы построить?
Аноним 01/08/20 Суб 22:17:14 22590884712
>>225908647
Такое решение мне не походит. Ты предлагаешь список параметров забить жестко в базу, а у меня для каждой категории товаров параметры добавляются динамически, поэтому я для фильтров и их значений сделал отдельные таблицы. СПИСОК ФИЛЬТРОВ ЗАРАНЕЕ НЕ ИЗВЕСТЕН
Аноним 01/08/20 Суб 22:17:47 22590888113
Епифанцев.mp4 (2638Кб, 640x360, 00:00:36)
640x360
бумп
Аноним 01/08/20 Суб 22:18:34 22590893114
>>225907455 (OP)
Какое-то говно из жопы, фильтры, хуильтры, что ты несёшь?

Сунь каждому продукту колонок со свойствами и ищи по ним до посинения.
Аноним 01/08/20 Суб 22:19:38 22590902515
ахегао.mp4 (1048Кб, 540x960, 00:00:11)
540x960
>>225908931
>Сунь каждому продукту колонок со свойствами и ищи по ним до посинения.
Отвечал же: >>225908847

Такое решение мне не походит. Ты предлагаешь список параметров забить жестко в базу, а у меня для каждой категории товаров параметры добавляются динамически, поэтому я для фильтров и их значений сделал отдельные таблицы. СПИСОК ФИЛЬТРОВ ЗАРАНЕЕ НЕ ИЗВЕСТЕН
Аноним 01/08/20 Суб 22:20:02 22590905216
>>225908847
Что значит динамически?
Аноним 01/08/20 Суб 22:21:33 22590915117
Пешеходы.mp4 (6161Кб, 576x576, 00:00:47)
576x576
>>225909052
Ну значит могут добавляться со временем новые через админку.
Аноним 01/08/20 Суб 22:22:47 22590921818
>>225909151
Ну и так у вас чё, в пыхе нет динамических массивов чи шо?
Аноним 01/08/20 Суб 22:23:09 22590924719
РжачныйЧел.mp4 (14845Кб, 640x360, 00:04:33)
640x360
бумп
Аноним 01/08/20 Суб 22:23:34 22590927420
Аноним 01/08/20 Суб 22:23:57 22590930021
Аноним 01/08/20 Суб 22:25:21 22590938422
МногоКотят.webm (4439Кб, 1024x576, 00:00:16)
1024x576
бумп
Аноним 01/08/20 Суб 22:26:30 22590945523
Laurens.mp4 (19116Кб, 640x360, 00:03:34)
640x360
бумп
Аноним 01/08/20 Суб 22:26:33 22590945824
Фу, пэхапэ.
Аноним 01/08/20 Суб 22:26:38 22590946425
>>225909151
То есть были условные трусы зелёные, менеджеришка через админку добавил признак лямки и теперь это будут трусы зелёные с лямками?
Он руками перехуячивает весь каталог и назначает некоторым товарам новые свойства?
Аноним 01/08/20 Суб 22:31:00 22590975826
HenningMay.webm (8969Кб, 1920x1080, 00:00:23)
1920x1080
>>225909464
Что-то вроде того. Допустим, завезли к нам носки, а носков мы не продавали. Заводим новую категорию или подкатегорию "носки", в админке для нее добавляем группу фильтров "цвет носка", в нее добавляем признак "цвет носка красный", "цвет носка синий" и "цвет носка зеленый". Потом добавляем еще какие-нибудь группы и признаки к ним. Потом переходим в форму добавления товаров, а там уже будут эти признаки, отсортированные по группам, осталось только галочки поставить.
Аноним 01/08/20 Суб 22:31:06 22590976127
Почему ты обращаешься к единственному параметру, если у тебя их много?
Аноним 01/08/20 Суб 22:34:07 22590998028
ПоютГрузинки.webm (6017Кб, 360x480, 00:02:34)
360x480
>>225909761
Сперва я так сделал, потому что отлаживал скрипт. Это работало. Но когда групп фильтров стало больше одной, то меня ждал неприятный сюрприз. Ты задал правильный вопрос. Я вот как раз бьюсь над тем, как это реализовать
Аноним 01/08/20 Суб 22:35:39 22591010529
>>225909151
Сделай отдельно таблицу с параметрами, у товаров делай столбец id параметров и столбец значениями

Собственно будешь отсеивать товары по id параметра, а потом по значению

Уверен что это можно как-то грамотно организовать
Аноним 01/08/20 Суб 22:37:35 22591025130
КорейскиеРэперы.webm (10240Кб, 640x360, 00:03:50)
640x360
>>225910105
>Сделай отдельно таблицу с параметрами, у товаров делай столбец id параметров и столбец значениями
Так уже все отдельно, в оп-посте написал. Или ты что-то добавил?
Аноним 01/08/20 Суб 22:37:43 22591026131
>>225909980
Пиздец, недаром говорят, что на пхп кодят только газонюхи. Там что, какой-то сайт с картинками существует, где умственно отсталых учат престижной профессии? А, ну да, существует, двачем называется. Так вот, >>225910105 всё верно пояснил.
Аноним 01/08/20 Суб 22:38:53 22591036732
>>225909758
Так бы, блядь, сразу и сказал.
Почитай чем отличается левый от правого джоина.
Аноним 01/08/20 Суб 22:40:32 22591048933
>>225910367
Точнее тебе подойдёт full outer join.
Аноним 01/08/20 Суб 22:40:43 22591050534
ЧерныеДыры.webm (10110Кб, 426x240, 00:02:10)
426x240
>>225910367
Так у меня тут проблема не с джойном
Аноним 01/08/20 Суб 22:41:59 22591060335
Вселенная.webm (19327Кб, 1280x720, 00:04:11)
1280x720
>>225910261
В добавлении айди параметра вроде какое-то рациональное зерно есть... Только понять бы как это в запрос впихнуть
Аноним 01/08/20 Суб 22:44:04 22591076436
>>225910251
В саму таблицу с товаром, помимо имени добавь id параметров и их значения
Тогда ты по сути сможешь напрямую из таблицы товаров дёргать необходимые товары.

Я оч плохо помню бд с вузика, но мне кажется, так логичнее
Аноним 01/08/20 Суб 22:44:18 22591079037
Nostalgi.webm (4657Кб, 470x360, 00:02:00)
470x360
Аноним 01/08/20 Суб 22:44:43 22591081138
>>225910603
Хм. Хм-м-м-м-м. Хм! Может быть... может быть... добавить каждому товару список id его параметров и соответствующих им значений, как и было предложено изначально? Да не, хуйня какая-то. Продолжаем дрочить двач.
Аноним 01/08/20 Суб 22:45:21 22591086639
ОП троллит тупостью, не ведитесь.
Аноним 01/08/20 Суб 22:45:31 22591088140
гепаррда.mp4 (4028Кб, 576x1024, 00:00:14)
576x1024
>>225910764
Количество параметров может быть каким угодно, чел
Аноним 01/08/20 Суб 22:46:41 22591097541
>>225910811
Окей, покажи как это будет выглядеть в таблице. Как мы можем засунуть в таблицу с товаром список айди, если этот список заранее неизвестен?
Аноним 01/08/20 Суб 22:47:55 22591106942
>>225910790
Тогда exists отдельно на каждую группу фильтров.
Аноним 01/08/20 Суб 22:49:30 22591119043
>>225910881
чел, через запятую перечисли несколько айди, жсоном, чемнить ещё

Тогда заведи отдельную таблицу со значениями параметров
Id - tovarid - paramid - paramvalue

Получай из нее айди товаров по подходящим параметрам
Аноним 01/08/20 Суб 22:49:55 22591121744
>>225910975
Делаешь пустой список, расширяешь его так, как тебе надо.
Аноним 01/08/20 Суб 22:51:52 22591135945
>>225907455 (OP)
> SELECT FROM `products` WHERE `hidden`=0 and (`catid`=11 or `catid`=12 or `catid`=13) and `price`>50 and `price`<5000 and exists (select from `subproduct_filter_values` where product_id = products.id and valueid in ('14', '88')) and exists (select * from `subproduct_filter_values` where product_id = products.id and valueid in ('OP', 'HUI'))
Аноним 01/08/20 Суб 22:52:26 22591139746
>>225911190
Есть такая таблица, смотри оп-пост. Проблема не в таблице, а в составлении запроса. Без обид, если у кого не хватило мозгов на прочтение и осознавание оппоста, то проходите мимо. Уж я думал, что тупой, но не думал что тупее меня есть)
Аноним 01/08/20 Суб 22:53:02 22591143247
Это тред помощи с программированием? Помогите и мне тоже. Не работает код на джаве:

int 1 = 2;
system.out.println(1);

Сменить имя переменной не предлагать.
Аноним 01/08/20 Суб 22:56:27 22591167848
>>225911432
> Сменить имя переменной не предлагать.
Тогда хуй соси.
Аноним 01/08/20 Суб 22:57:38 22591178849
>>225911432
Смени язык программирования.
Аноним 01/08/20 Суб 23:01:19 22591208950
01/08/20 Суб 23:02:39 22591220451
>>225911397
Как скажешь братик, епись сам тогда и дай Бог тебе здоровья, и мозгов
Аноним 01/08/20 Суб 23:04:28 22591234452
>>225912204
Братик, если ты глупая обиженка, то ты ничем не поможешь. Иди отсюда с миром
Аноним 01/08/20 Суб 23:04:50 22591237553
>>225907455 (OP)
Схуяли один параметр не может иметь несколько значения ?
связь многие ко многим не ?
Аноним 01/08/20 Суб 23:05:41 22591242954
>>225912375
Как это реализовать в запросе?
Аноним 01/08/20 Суб 23:06:11 22591247255
>>225911397
Скил задавать вопросы обязателен к прокачке.
Мало того, что правильно заданный вопрос содержит половину ответа, так ещё у отвечающего не загорится жопа.
Аноним 01/08/20 Суб 23:07:00 22591253156
>>225907455 (OP)
И вообще сделал бы модель нормальную в разы быстрее бы дело пошло, вот делать не хуй сидеть в тонну строк вникать, че там понаписано.
Аноним 01/08/20 Суб 23:07:14 22591254157
>>225912429
Тебе уже сказали про exists.
Аноним 01/08/20 Суб 23:07:57 22591258858
Аноним 01/08/20 Суб 23:09:24 22591268559
>>225907455 (OP)
Бля, ты же недели две назад уже срал этой хуйней, может делом займёшься, вместо этого?
Аноним 01/08/20 Суб 23:09:48 22591270960
>>225912429
тебе базу надо менять. делаешь связь многое ко многим между фильтрами и продукатами появиться промежуточная таблица в которой 1 товару можно хоть миллион фильтров понаставить и спокойно свой запрос юзаешь вообще ничего не меняя.
Аноним 01/08/20 Суб 23:11:01 22591280961
>>225912709
Я просто это не умею. Ткни плез в какую-нибудь статью mysql, где это объясняется
01/08/20 Суб 23:13:17 22591295062
>>225912344
Хорошо братик, буду обиженкой, а ты дальше глупи на простых вещах.

С кривой архитектурой БД и 0 базовых знаний в их проектировании.
Аноним 01/08/20 Суб 23:14:52 22591305563
>>225912950
Братик, я понимаю, что тебе надо свои анальные боли унять вскукареком напоследок, но лучше не надо, ок? Ты бы смотрелся лучше, кинув напоследок полезную инфу, а не демонстрируя свой кровоточащий от боли пукан
Аноним 01/08/20 Суб 23:18:09 22591323164
01/08/20 Суб 23:18:36 22591325565
>>225913055
Тебе шибко умному несколько раз написали, что и куда смотреть.
Давай мы поищем информацию за тебя, сами изучим и сами сделаем. Устроит такой вариант?
Аноним 01/08/20 Суб 23:19:04 22591328866
>>225913231
Так ведь есть такая таблица, читай оп-пост
Аноним 01/08/20 Суб 23:20:31 22591338167
>>225913255
Петушок обиженный, тебя спросить забыли. Иди помажь разодраный пукан зеленкой и ложись спать. Не можешь помочь - заткни свой спермоприемник, без сопливых разберемся)
01/08/20 Суб 23:21:34 22591343868
>>225911432
Не работает потому что не system a System, очевидно
01/08/20 Суб 23:21:59 22591346969
>>225913381
Ты с каждым разом отвечаешь всё агрессивнее. У тебя всё хорошо?
Аноним 01/08/20 Суб 23:23:16 22591355170
>>225913469
Тебе нравится, когда тебя унижают и ссут в рот?
01/08/20 Суб 23:23:55 22591358671
>>225913551
Видимо у тебя всё очень плохо.
Аноним 01/08/20 Суб 23:24:38 22591363872
>>225913586
Твое пукло сегодня перестанет гореть или нет?)
01/08/20 Суб 23:24:48 22591364373
01/08/20 Суб 23:26:00 22591371974
>>225913638
С чего ты взял что оно горит?
Аноним 01/08/20 Суб 23:27:25 22591381075
>>225913719
Ты вроде уходить собирался, а до сих пор сосальник завалить не можешь)
01/08/20 Суб 23:28:54 22591390976
>>225913810
Попроси вежливо и я уйду, возможно.
Аноним 01/08/20 Суб 23:30:04 22591397077
>>225913909
Ну раз ты хочешь, чтоб я тебе еще раз нассал в ебало, то раззевай ротеш
01/08/20 Суб 23:32:14 22591410378
>>225913970
Ты бы лучше свою задачу решал с таким же усердием, как мне отвечаешь.
Аноним 01/08/20 Суб 23:33:34 22591419179
>>225914103
Ты бампаешь мой тред, послушный песик)
01/08/20 Суб 23:36:48 22591437980
>>225914191
Увы, но это не поможет тебе и не решит твою проблему.
Аноним 01/08/20 Суб 23:37:58 22591444481
>>225914379
Не все такие тупые как ты, щас кто-нибудь подскажет
01/08/20 Суб 23:41:48 22591463882
>>225914444
Повторю, что тебе уже несколько человек подсказало
Аноним 01/08/20 Суб 23:44:48 22591481083
Аноним 01/08/20 Суб 23:52:52 22591536584
>>225907455 (OP)
нормализуй бд, хуле у тебя дубликаты а не внешние ключи.
Аноним 01/08/20 Суб 23:53:04 22591538185
111.png (12Кб, 805x431)
805x431
>>225907455 (OP)
Еще раз опиши что ты хочешь получать. Желательно на конкретных примерах.
И структуру твоей БД тоже хотелось бы. И примеры данных из всех таблиц.
Аноним 01/08/20 Суб 23:57:39 22591570686
>>225915381
Вот мой последний запрос:

SELECT * FROM `products` LEFT JOIN `subproduct_filter_values` as `t2` ON `products`.`id`=`t2`.`productid` WHERE `hidden`=0 and (`catid`=11 or `catid`=12 or `catid`=13) and `price`>50 and `price`<5000 and ( `t2`.`valueid`=16 or `t2`.`valueid`=17) and ( `t2`.`valueid`=33 or `t2`.`valueid`=34) GROUP BY products.`id` ORDER BY `ord` DESC

Жирным я выделил свою попытку выдрать товары по определенным значениям фильтров. Если фильтры относятся к одной группе, то они перечисляются через OR, и никаких проблем нет. А между группами фильтров я как бы логично поставил операнд AND, но этот запрос не сработал, а потом я сообразил, что запрос идет построчно, и он не может определить принадлежность товара сразу к двум фильтрам из разных групп.
Аноним 01/08/20 Суб 23:59:36 22591583487
Аноним 02/08/20 Вск 00:01:41 22591596588
Аноним 02/08/20 Вск 00:05:54 22591625789
>>225915706
Ты долбоеб? У тебя взаимоисключающие условия в скобках.
Аноним 02/08/20 Вск 00:06:53 22591633290
Аноним 02/08/20 Вск 00:07:08 22591635591
>>225915706
К какой нахуй группе лол? Ты прогуливал информатику в 9 классе?
Аноним 02/08/20 Вск 00:07:27 22591638892
Аноним 02/08/20 Вск 00:07:50 22591641093
>>225916332
Перечитай ещё раз булеву логику.
Аноним 02/08/20 Вск 00:08:34 22591646094
>>225916388
Ты не тот обиженный долбик, что я обоссал пару постов назад?
Аноним 02/08/20 Вск 00:10:30 22591661495
Аноним 02/08/20 Вск 00:12:16 22591674696
>>225907455 (OP)
> Я уже предвкушал как всё заработает, но нихуя не заработало.

Ты туповат, смени сферу деятельности.
02/08/20 Вск 00:12:41 22591677197
Аноним 02/08/20 Вск 00:13:39 22591681798
>>225916771
Какой послушный песик, сразу отзывается)
Аноним 02/08/20 Вск 00:14:53 22591690499
>>225908724
Как в опп посте первый, через or
Аноним 02/08/20 Вск 00:15:53 225916955100
>>225916904
OR подходит, если фильтры относятся к одной группе. Как быть, если к разным?
02/08/20 Вск 00:16:42 225917010101
>>225916817
Ты явно слышал пасту про голубя и шахматы, ты и есть этот голубь
Без негатива
Аноним 02/08/20 Вск 00:19:15 225917176102
>>225917010
Попробуй пукло в воде остудить, может поможет)
02/08/20 Вск 00:21:21 225917311103
>>225917176
Придумай что-то новое, повторяешься
Аноним 02/08/20 Вск 00:21:58 225917353104
>>225917311
Зачем? У тебя и так неплохо горит, рвешься как дешевый китайский гондон)
02/08/20 Вск 00:22:51 225917412105
>>225917353
Покажи пожалуйста, в каком месте у меня горит?
Аноним 02/08/20 Вск 00:23:41 225917465106
>>225916955
К каким блядь группам? Вселенная схлопнется, если or напишешь?
Аноним 02/08/20 Вск 00:25:17 225917569107
>>225916955
Через ор, или двумя запросами, без разницы.
Аноним 02/08/20 Вск 00:26:59 225917676108
>>225915706
Он не сработал по другой причине
Аноним 02/08/20 Вск 00:32:00 225917988109
>>225917465
Допустим, есть группа фильтров "цвет" и "размер". Они содержат:

Цвет:
Красный id=33
Синий id=32
Зеленый id=31

Размер:
S id=19
M id=18
L id=17

Допустим, мы хотим получить красные (id=33) фуболки. Ставим в запрос что-то вроде WHERE `t2`.`valueid`=33 и все норм.
Допустим, хотим получить все красные (id=33) и синие (id=32) футболки. Ставим в запрос что-то вроде WHERE (`t2`.`valueid`=32 or `t2`.`valueid`=33) и опять все норм.

До этого наши фильтры относились к одной группе. Как же быть, если они относятся к разным группам?

То есть, допустим, мы хотим получить красные (id=33) и синие (id=32) футболки размером M (id=18). Как в таком случае построить запрос?
Вот это - WHERE (`t2`.`valueid`=32 or `t2`.`valueid`=33 or `t2`.`valueid`=18) - будет неверным, т.к. зацепит все красные футболки независимо от размеров, все синие футболки независимо от их размеров и все футболки размером M (которые могут оказаться зелеными). Писать через and? Так это логически неверно. Как быть?
Аноним 02/08/20 Вск 00:35:51 225918190110
>>225917988
WHERE ((`t2`.`valueid`=32 and `t2`.`valueid`=18) or (`t2`.`valueid`=33 and `t2`.`valueid`=18))
Аноним 02/08/20 Вск 00:36:58 225918252111
>>225918190
>`t2`.`valueid`=32 and `t2`.`valueid`=18
Как у тебя одно и то же поле может содержать сразу два значения?
Аноним 02/08/20 Вск 00:38:39 225918354112
>>225918252
Вот именно почему тебя в одной таблице разные свойства.....

Делай тогда два запроса и из них третий.
Аноним 02/08/20 Вск 00:39:31 225918400113
Аноним 02/08/20 Вск 00:40:38 225918454114

>>225918400
Я не обслуживаю информационно, сори, гугли подзаполсы
Аноним 02/08/20 Вск 00:41:37 225918510115
>>225918454
Обслужишь мой хуй тогда, хуесос?
Аноним 02/08/20 Вск 00:41:37 225918511116
>>225918454
Не обслуживаешь, но языком чесать любишь? Так и скажи, что ничего не понял. Обоссан, свободен)
Аноним 02/08/20 Вск 01:13:28 225920320117
>>225907455 (OP)
Чел, единственный совет могу тебе дать: не спрашивай ничего на дваче, по крайней мере в /бэ/
Тут каждый второй погромист 300к/наносек. А когда дело доходит до какой-нибудь задачки простейшей, все эти люди куда-то испаряются и остаются одни дуболомы, которые вопросы с очевидными ответами задают.
Не трать время, двачедауны тебе мало чем помогут.
Аноним 02/08/20 Вск 01:15:48 225920435118
Love Automatic [...].mp4 (15685Кб, 640x360, 00:04:12)
640x360
>>225920320
К сожалению каждый раз тоже в этом убеждаюсь, анон
Аноним 02/08/20 Вск 01:39:14 225921497119
бумп
Аноним 02/08/20 Вск 01:50:37 225922056120
ОП ты какую-то хуйню нагородил, как я понял тебе надо в колонке value отличать разные свойства друг от друга? Ну добавь еще столбец вроде value_type и пиши туда тип значения. И будет у тебя условие:
((t2.valueid=12 or t2.valueid=13) and value_type='color') or ((t2.valueid=19 or t2.valueid=20 or t2.valueid=21) and value_type='smell').
Вообще если у тебя данимический набор полей может тебе лучше использовать какую-нибудь MongoDB?
Аноним 02/08/20 Вск 01:52:49 225922176121
>>225922056
>((t2.valueid=12 or t2.valueid=13) and value_type='color') or ((t2.valueid=19 or t2.valueid=20 or t2.valueid=21) and value_type='smell').
Прочитай вот >>225917988

Тут пояснил дополнительно
Аноним 02/08/20 Вск 01:57:54 225922411122
>>225920435
внезапно никто не хочет решать за кого-то задачи, консалтинг приличных денег
Аноним 02/08/20 Вск 02:00:39 225922549123
>>225922176
Используй nosql и не изобретай велосипед
Аноним 02/08/20 Вск 02:01:25 225922587124
>>225922411
Скорее, никто не может. Как-то раз в треде, где все мерялись своими программистскими яйцами и хвастались, что они-де у лягушки хуй видели и комару яйца отстреливали, я вбросил примитивную программистскую задачку, которая решается за 10-15 секунд, ничего замудренного, уровень школы 10 класса. То есть, там не на логику решение, просто банально операторы знать. И что вы думаете? Никто не решил! Все обсирались. Только через три часа под самое закрытие треда нашелся анон, который решил эту школьную задачку. После этого стал ясен уровень местных "икспердов"
Аноним 02/08/20 Вск 02:01:51 225922599125
>>225922549
Используй мой хуй тогда
Аноним 02/08/20 Вск 02:16:04 225923235126
>>225922587
ну тут понятно должно быть, что такого количества икспердов на тред в принципе быть не может, вакансии где нужны искперды годами закрываются, что как бы намекает на шанс их появления в случайном треде на дваче
Аноним 02/08/20 Вск 02:17:18 225923290127
>>225922599
Твоя схема - это мусор, твой предел - верстать визитки, товары у него фильтрами определяются, охуеть истории просто. Для начала научись свои мысли выражать, иначе ничего кроме HTML-программирования тебе не светит.
Если вся твоя проблема состоит в динамическом наборе данных, оставляй две своих таблицы products и subproducts и добавляй таблицу properties с полями subproduct_id, property_name, value, джойни с сабпродуктами и ищи че хочешь. Хртьфу
Аноним 02/08/20 Вск 02:20:21 225923412128
>>225923290
>добавляй таблицу properties с полями subproduct_id, property_name, value
Ты предлагаешь почти то же самое, проблема никуда не девается. У тебя не хватает мозгов составить запрос
Аноним 02/08/20 Вск 02:22:02 225923489129
>>225923235
Тут задача не для эксперта, а банальная джуновская, лол. Тут сотни 300к/наносек, в тредах с зарплатами постоянно кидают скрины доходов, а как доходит до дела, то не могут вбросить решение задачи, которую они уже решали тысячу раз. Странно
Аноним 02/08/20 Вск 02:23:01 225923518130
>>225923412
нет, я предлагаю тебе выкинуть все твои таблицы кроме 3-х и искать по любому набору полей, если у тебя 3 таблицы заджоинить мозгов не хватает, это твои проблемы, тут не я помощи прошу, а ты, так что иди в пятерочку и не трать чужое время
Аноним 02/08/20 Вск 02:25:19 225923601131
>>225923518
>если у тебя 3 таблицы заджоинить мозгов не хватает
Я так понимаю, ты дальше продолжишь кудахтать и оправдываться, пытаясь скрыть свою тупость? Ну так это ты зря стараешься, мы все видим, что ты туповат и не в состоянии написать этот простой запрос. Можешь сваливать с треда, тебе уже нассали в рот, не захлебнись там)
Аноним 02/08/20 Вск 02:26:13 225923642132
>>225923489
ну я например 200К чистыми получаю, мне лень что-то делать, какая-то задача непонятная, я бы выносил свойства изначально в отдельные таблицы и джойнил бы по айди, если что надо отобрать, а если всё в одной таблице, я хз, скорее надо кучу вложенных селектов делать
Аноним 02/08/20 Вск 02:29:22 225923751133
>>225923601
Какой тухлый байт! Только вот просить помощи пришел ты, так что открывай книжечку по sql и начинай читать с самой первой страницы, а я пошел спать, арибидерчи
Аноним 02/08/20 Вск 02:29:46 225923765134
>>225923642
>я бы выносил свойства изначально в отдельные таблицы
Так они вынесены.

>я например 200К чистыми
Вот он, пример того самого "иксперда". Он якобы получает 200к, но не может написать простейший запрос. То есть, он не может пройти мимо треда, не может не похвастаться, не может не написать пост, но примитивный запрос написать не может. Он даже суть оп-поста не понял
Аноним 02/08/20 Вск 02:30:19 225923791135
>>225923751
Конкретно у тебя ничего не просят. Тебе нассали в рот, можешь идти спать, ток не сглатывай))
Аноним 02/08/20 Вск 02:31:57 225923850136
>>225923765
>суть оп-поста не понял
Ну так на двач повыебываться приходят, а не задачи решать, вникнуть в задачу это уже работа, а я работать не хочу, хочу графоманить.
Аноним 02/08/20 Вск 02:33:21 225923888137
>>225923850
Не надо оправдываться, маня, все уже поняли, что ты тупой просто)
Аноним 02/08/20 Вск 02:40:45 225924120138
>>225923888
я те ща ебало набью, щенок бля
Аноним 02/08/20 Вск 02:42:50 225924192139
>>225907455 (OP)
Ебать, я только что с удовольствием просмотрел видео с тик-тока.
Чего только не случается.
Аноним 02/08/20 Вск 02:45:37 225924294140
>>225924120
Ты щас своим ртом мой хуй изнасилуешь, маня)
Аноним 02/08/20 Вск 02:46:51 225924335141
>>225924294
Кончил в твою мамашу уже))
Аноним 02/08/20 Вск 03:15:53 225925492142
>>225924335
Ты кроме своего кулака никого не ебал, чел)
Аноним 02/08/20 Вск 03:52:47 225926612143
>>225911432
предлагаю сделать бочку и перезагрузить комп, инфа сотка код скомпилится
Аноним 02/08/20 Вск 04:02:22 225926828144
>>225907455 (OP)
Судя по вопросу, ты только начал изучать бд. Айти пузырь скоро лопнет, еблан, беги от туда.
Аноним 02/08/20 Вск 04:03:08 225926850145
>>225915706
>and `price`>50 and `price`<5000 and
это желательно в скобки поставить
Аноним 02/08/20 Вск 04:21:40 225927381146
Аноним 02/08/20 Вск 04:45:14 225928092147
>>225907455 (OP)
Слушай, ну если я правильно твою схему бд осознал, то для каждой группы фильтров можно писать ещё один лефт джойн с отдельным алиасом и на него уже условия вешать через или. Можно через in (,,), будет короче запись. Ещё можно тоже по группам собирать запрос, как в первом случае, и каждый объединить через union.
А какая у тебя бд? Откуда эти бэкквоты в именах?
Сорян, с телефона в 5 утра ппц неудобно печаткать скл.
Аноним 02/08/20 Вск 04:50:13 225928255148
>>225928092
Помоги, плез.

>А какая у тебя бд? Откуда эти бэкквоты в именах?
mysql
Аноним 02/08/20 Вск 05:02:25 225928622149
>>225928255
Я щас не в состоянии с телефона запрос напечатать. В телеге группа есть Обсуждение задач по SQL, напиши туда вопрос, а то тред утонет и печаль. Я завтра очнусь и напишу в ней, как я бы сделал. Ну или кто-то раньше ответит.
Задачи там если что ооочень странные, не обращай внимания.
И если в состоянии, запили на каком-нибудь sqlfiddle ддл и данные примера, чтобы точно об одном и том же говорить.
Окай?
Аноним 02/08/20 Вск 05:05:06 225928707150
>>225928622
>В телеге группа есть Обсуждение задач по SQL
Я постараюсь найти, но может есть ссылка?

>И если в состоянии, запили на каком-нибудь sqlfiddle ддл и данные примера
Вот http://sqlfiddle.com/#!9/3a7cbc/1
Так только структура, данные что-то не влезли, я хз
Аноним 02/08/20 Вск 05:10:39 225928858151
>>225928707
Я признаться хз как с мобильного клиента телеги айди чатика скопировать, там на иконке синяя банка с буквами sql. Прям по названию, она там одна такая.
Аноним 02/08/20 Вск 05:11:41 225928890152
>>225928858
Я хз какую-то группу нашел, но не понятно как там писать вопросы и как потом искать решение, если я отойду
Аноним 02/08/20 Вск 05:22:39 225929115153
image.png (13Кб, 361x151)
361x151
>>225928890
Вот эта.
Да просто вопрос из оппоста туда напиши и ссулку на фиддл тоже добавь. Там два с половиной человека раз в три дня что-то пишут, вопрос точно не потеряется.
Аноним 02/08/20 Вск 05:23:31 225929135154
>>225929115
Ты адрес группы скопируй
Аноним 02/08/20 Вск 05:29:33 225929263155
>>225929135
А, сорян, это не отдельная группа, а обсуждалка от канала
sqlquestions
сначала к каналу, потом через дискасс в эту. У самой группы адреса походу нет.
Аноним 02/08/20 Вск 05:30:50 225929292156
Аноним 02/08/20 Вск 05:30:57 225929294157
>>225929263
А ссылку на телеграм спамлист не пропускает запостить сука...
Аноним 02/08/20 Вск 05:33:45 225929373158
>>225929292
Да там бот какой-то постит вопросы по мсскл от которых у всех жопа горит.
А так кто-то что-то бывает спрашивает, какой-нибудь мимокрокодил ответит, бывает даже по делу.
Аноним 02/08/20 Вск 05:37:11 225929441159
>>225929373
>Да там бот какой-то постит вопросы по мсскл от которых у всех жопа горит.
А что за вопросы, чего жопа-то горит?
Аноним 02/08/20 Вск 05:39:11 225929472160
image.png (1Кб, 198x62)
198x62
image.png (1Кб, 226x68)
226x68
>>225929135
Короч, вот этот канал, у него через кнопку чатик без адреса, вот туда напешы
Аноним 02/08/20 Вск 05:43:05 225929529161
>>225929441
Да плохо сформулированные, без указания рсубд или настолько примитивные, что такое, наверное в шараге на курсе по аксесу не спросят никогда. Примерно как в том анекдоте про "сила тока измеряется в амперах: да есть и так точно"
Аноним 02/08/20 Вск 05:50:49 225929651162
Аноним 02/08/20 Вск 06:05:02 225929952163
бумп
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов