[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: php массивы и mysql
Страницы: 1, 2, 3
braindbrigada
Добрый вечер.

Вобщем ситуация такая.

после передачи get запроса получаем информацию по каким значениям выбирать записи из mysql.

Допустим param1 и param2

Данные записаны в таблицу id | product_id | param_id

1 | 123 | param1
2 | 123 | param2
3 | 321 | param3
4 | 111 | param1 и т.д.

Запросом

WHERE param_id=param1 OR param_id=param2


Я получаю product_id = 123 и 111

Но мне нужно получить только product_id = 123 тоесть product_id соответствующий и param1 и param2

Дельного совета как правильно выбрать значения из базы или php оставить только product_id = 123

з.ы. Значений пару десятков.
Игорь_Vasinsky
where param_id = param1 and param_id = param2 and ceil = 123

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick
ай, красавэлла)))
Игорь_Vasinsky, Игорь извени, но тут я должен немного поржать biggrin.gif


_____________
Стимулятор ~yoomoney - 41001303250491
linker
... WHERE product_id = 123 AND param_id IN (param1, param2)


_____________
Gear Framework
Gear Framework на Github
Игорь_Vasinsky
ааа. мысль то была как у линкера)))

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick
linker, сегодня определенно весёлый день biggrin.gif
__
народ вы меня начинаете потихоньку убивать)))


_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
4 часа WOT + собирал картонный макет су100, лёг уже спать, начал фильм искать - тут топик - грех не написать лежа на боку одной рукой ответ, не прокручивая скрол на таблицу в первом посте.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
braindbrigada
Цитата
... WHERE product_id = 123 AND param_id IN (param1, param2)

но product_id =123 еще неизвестно или это еще один запрос?
linker
Valick
Одно из двух, либо ты обкурился, либо топикстартер неправильно формулирует вопрос. smile.gif wink.gif

_____________
Gear Framework
Gear Framework на Github
linker
Беру свои слова обратно, это я невнимательно читаю.

_____________
Gear Framework
Gear Framework на Github
Valick
braindbrigada, тут можно немножко схитрить и применить HAVING
если мы знаем что параметров должно быть два то:
SELECT * FROM (SELECT * FROM `table` WHERE param_id=param1 OR param_id=param2) GROUP BY product_id HAVING COUNT(product_id)>1

как-то так

_____________
Стимулятор ~yoomoney - 41001303250491
braindbrigada
Цитата
А как ты узнаёшь, что тебе нужно именно 123, а не 111?


Суть вопроса сводится к этому. Нужно выбрать 123 так как он соответствует по двум (всем) параметрам.

Цитата
если мы знаем что параметров должно быть два то


их может быть и 2 и 3 и 10
Valick
Цитата
их может быть и 2 и 3 и 10

ну тогда я надеюсь догадаешься как подкорректировать запрос


_____________
Стимулятор ~yoomoney - 41001303250491
braindbrigada
Цитата (Valick @ 14.01.2014 - 18:20)
Цитата
их может быть и 2 и 3 и 10

ну тогда я надеюсь догадаешься как подкорректировать запрос

Every derived table must have its own alias [SELECT * FROM (SELECT * FROM products WHERE param_id=3 OR param_id=7) GROUP BY product_id HAVING COUNT(product_id)>1]
Valick
а если еще хитрее, то можно так
SELECT * FROM (SELECT * FROM `table` WHERE param_id IN ($param)) GROUP BY product_id HAVING MAX(COUNT(product_id))

по идее должно работать

_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.