@mysql_ru

Страница 98 из 142
Yaroslav
30.11.2017
14:14:57
ведь поле может иметь только одно значение

либо то, либо то

Konstantin
30.11.2017
14:15:05
Вооот

Я, вот, и спрашиваю, есть ли вариант какой-то?

Google
Yaroslav
30.11.2017
14:15:23
чего?

я выше писал

что вопрос не понятен

вопрос не понятен

Konstantin
30.11.2017
14:15:42
Не либо то, либо то, а И то, и то. Для одного поля

Yaroslav
30.11.2017
14:16:12
и как должен выглядеть столбец, который запрос должен найти?

какое в нем, должно быть значение?

Danil
30.11.2017
14:16:31
Содержит ли строка определенные значения?

Konstantin
30.11.2017
14:18:05
К прмиеру, выше скрин таблицы. Пардон за мат. Но нервы на пределе. Есть айди товара - 74. Ему соответствуют поля "nnnn" и "Корпус: стальной". Можно ли сделать выборку, того айдишника, которому принадлежат сразу оба параметра?

Yaroslav
30.11.2017
14:18:47
having+group by и можно

Konstantin
30.11.2017
14:18:56
Попросту единственный вариант, котоырй я сейчас вижу - выборку по однмоу параметру, после из получившейся массы - выборку по другому

$query ="SELECT virtuemart_product_id FROM (SELECT DISTINCT virtuemart_product_id, customfield_value FROM pkpd_virtuemart_product_customfields) t where customfield_value IN ('','nnnn') GROUP BY customfield_value HAVING COUNT(*)=2";

Даже не так, а

Google
Konstantin
30.11.2017
14:20:01
$query ="SELECT * FROM * pkpd_virtuemart_product_customfields where customfield_value IN ('Корпус:стальной','nnnn') GROUP BY customfield_value HAVING COUNT(*)=2";

Выборка производится все равно по одному из двух

Битый час ломаю голову над тем, что я делаю не так

Danil
30.11.2017
14:21:26
Customfield_value like '%nnn%' and Customfield_value like '%корпус стальной%'

Konstantin
30.11.2017
14:21:35
Так я тоже пробовал

С последнего посещенного мною форума

Danil
30.11.2017
14:21:42
И?

Konstantin
30.11.2017
14:21:54
Ничего

Пустая выборка

Danil
30.11.2017
14:22:32
Если строка содержит обе эти подстроки то покажет эту строку. Если нет- то нет значит совпадения.

(И не забудь про %с обоих частей значения подстроки)

Konstantin
30.11.2017
14:23:20
В этом то и проблема, выше структура. Каждая строка содержит только один параметр. И про это я так же не забыл

Danil
30.11.2017
14:23:42
Эм... все становится запутаннее

Konstantin
30.11.2017
14:24:16
Сложно поспорить

Danil
30.11.2017
14:24:21
Модно плиз скрин с 2я строками которые должен найти заппос

И вывод который должен получится

Konstantin
30.11.2017
14:25:00


1, 4 строка

75-нннн

75 - цвет черный

Google
Konstantin
30.11.2017
14:25:15
К примеру

или любые другие пары

Yaroslav
30.11.2017
14:25:48
да правильно все, пустой результат ибо поле не может иметь оба значения

Konstantin
30.11.2017
14:26:22
+

А вот с having count и group by не подскажете как правильно?

Ибо я сделал, используя "in"

Оно вроде как работало, потом я понял, что in - это, по факту, or

и что это ничего не изменило

Yaroslav
30.11.2017
14:27:30
хватит спамить кучей сообщений

Konstantin
30.11.2017
14:27:46
Прошу прощения, да, попросту такая манера)

Yaroslav
30.11.2017
14:28:14
выбираете все поля у которых where customfield_value IN ('ss','nnnn'), делаете group by по полю id, выводите id

Danil
30.11.2017
14:29:18
выбираете все поля у которых where customfield_value IN ('ss','nnnn'), делаете group by по полю id, выводите id
Так он выведет еще id у которых есть любое одно из значений (если я не ошибаюсь)

Yaroslav
30.11.2017
14:29:44
условие having оставьте, что = 2

Konstantin
30.11.2017
14:30:43
Да, в этом и проблема. Окей, спасибо, сейчас еще раз попытаюсь, хотя в прошылй раз, когда я использовал такое условие. в in мог написать любую белеберду и действительно искомое поле, к примеру "nnnn" -выборка проиходила, хотя не должна была

Yaroslav
30.11.2017
14:32:26
примерно так

SELECT virtuemart_product_id FROM (SELECT virtuemart_custom_id, virtuemart_product_id, customfield_value FROM pkpd_virtuemart_product_customfields) t where t.customfield_value IN ('ss','nnnn') GROUP BY t.virtuemart_product_id HAVING COUNT(*)=2

Konstantin
30.11.2017
14:34:23
Unknown column 't.virtuemart_customfield_id' in 'group statement'

Yaroslav
30.11.2017
14:34:39
ну убери t.

Konstantin
30.11.2017
14:34:42
До этого делал все тоже самое, но без t., она действительно необходимо?

Понял

Google
Konstantin
30.11.2017
14:36:34
Ошибка Unknown column 'virtuemart_customfield_id' in 'group statement' Потмоу что при dds,jhrt yt erfpfyf&

Потмоу что прив ыборке не указана?

Yaroslav
30.11.2017
14:37:51
в селекте поля нет

Konstantin
30.11.2017
14:38:05
Добавил к выборке. Запустилось. Отработало. Результат пуст

Yaroslav
30.11.2017
14:39:25
значит нет полей, где для одного virtuemart_product_id только две записи с 'ss' и 'nnnn'

Konstantin
30.11.2017
14:40:01
"выфыфвыфвфы" и "nnnn" есть

Подставил их. Но мало что изменило, увы

Yaroslav
30.11.2017
14:40:31
поставте в having > 2

там скорее всего у вас, с таким id есть еще записи, с другими virtuemart_customfield_id

Konstantin
30.11.2017
14:41:22
Поставил, но увы, без изменений

И да, вы правы, есть

Yaroslav
30.11.2017
14:41:39
запрос сюда отправьте, и скрин таблицы

Konstantin
30.11.2017
14:42:23




Yaroslav
30.11.2017
14:44:24
почему вы в group by используете кастом id, а не продукт?

Konstantin
30.11.2017
14:45:15
Сейчас, момент

Yaroslav
30.11.2017
14:45:38
SELECT virtuemart_product_id FROM (SELECT virtuemart_custom_id, virtuemart_product_id, customfield_value FROM pkpd_virtuemart_product_customfields) as t where customfield_value IN ('ss','nnnn') GROUP BY virtuemart_product_id HAVING COUNT(*)=2

я же скинул пример

Konstantin
30.11.2017
14:46:11
Да, я его и вставил. Сейчас изменил обратно. Попросту менял. Но опять атки, без результата

Yaroslav
30.11.2017
14:46:57
вы в базе проверяете?

Google
Yaroslav
30.11.2017
14:47:06
или результат php скрипта смотрите?

Konstantin
30.11.2017
14:47:32
Результат скрипта

Yaroslav
30.11.2017
14:47:41
сделайте запрос к bd

Konstantin
30.11.2017
14:47:44
Может быть разница, разве?

Окей, сейчас

Yaroslav
30.11.2017
14:47:56
должен работать

Konstantin
30.11.2017
14:48:30


Yaroslav
30.11.2017
14:49:17
скиньте запрос строкой

не видно

Konstantin
30.11.2017
14:49:58
SELECT virtuemart_product_id FROM (SELECT virtuemart_custom_id, virtuemart_product_id, customfield_value, virtuemart_customfield_id FROM pkpd_virtuemart_product_customfields) t where customfield_value IN ('nnnn','выфыфвыфвфы') GROUP BY virtuemart_product_id HAVING COUNT(*) > 2

Надеюсь, я вас правильно понял, и вы говорили про это

Yaroslav
30.11.2017
14:50:26
давайте по шагам

SELECT virtuemart_product_id FROM (SELECT virtuemart_custom_id, virtuemart_product_id, customfield_value, virtuemart_customfield_id FROM pkpd_virtuemart_product_customfields) t where customfield_value IN ('nnnn','выфыфвыфвфы')

выполните

в результате есть записи с одинаковым product_id?

Konstantin
30.11.2017
14:51:19


Есть контакт

Да, вы правы, distinct?

Yaroslav
30.11.2017
14:51:39
SELECT virtuemart_product_id FROM (SELECT virtuemart_custom_id, virtuemart_product_id, customfield_value, virtuemart_customfield_id FROM pkpd_virtuemart_product_customfields) t where customfield_value IN ('nnnn','выфыфвыфвфы') GROUP BY virtuemart_product_id

что выводит?

Страница 98 из 142