Я знаю, что это может ввести в заблуждение, но, пожалуйста, несите меня на этом.mysql объединить два запроса на выбор
У меня есть два запроса SELECT с незначительной разницей, которая возвращает почти тот же набор результатов.
SELECT products_id,options_values_id
FROM products_attributes pa
LEFT JOIN products_options po ON (pa.options_id = po.products_options_id)
WHERE products_id ='574' and pa.options_id!=6
and pa.options_id!=3
AND products_options_type = 6
GROUP BY products_id,options_values_id
ORDER BY products_id,products_options_sort_order,options_id
Второй запрос изменяется в products_options_type
SELECT products_id,options_values_id
FROM products_attributes pa
LEFT JOIN products_options po ON (pa.options_id = po.products_options_id)
WHERE products_id ='574' and pa.options_id!=6
and pa.options_id!=3
AND products_options_type = 2
GROUP BY products_id,options_values_id
ORDER BY products_id,products_options_sort_order,options_id
И результаты, возвращаемые ими являются
574|193
574|204
И
574|25
574|3
Я хочу вывод как
574|193|25
574|204|3
Я попытался это:
SELECT pa.products_id,pa.options_values_id,ord.options_values_id
FROM products_attributes pa
LEFT JOIN products_options po ON (pa.options_id = po.products_options_id)
LEFT JOIN(SELECT products_id,options_values_id
FROM products_attributes pa
LEFT JOIN products_options po ON (pa.options_id = po.products_options_id)
WHERE products_id ='574' and pa.options_id!=6
and pa.options_id!=3
AND products_options_type = 2
GROUP BY products_id,options_values_id
ORDER BY products_id,products_options_sort_order,options_id)ord ON pa.products_id=ord.products_id
WHERE paproducts_id ='574' and pa.options_id!=6
and pa.options_id!=3
AND products_options_type = 2
GROUP BY pa.products_id,pa.options_values_id
ORDER BY pa.products_id,products_options_sort_order,options_id
Однако это возвращает
574|193|25
574|204|25
Я не слишком хорошо с соединениями, так что любая идея, если и как это может быть сделано?
Почему ваш движок базы данных знает, что 193 и 25 принадлежат вместе, как и 204 и 3? Я не мог этого знать, увидев ваш код. – Jens
На самом деле логики там не так много, но я работаю над существующей системой, и мне нужен ярлык для этой части (просто не спрашивайте, зачем мне обманывать сюда). – Bluemagica
Могу сказать, что у вас нет причин, по которым вам нужны ваши данные таким образом. Просто потому, что учение не способно сортировать данные, не зная, как это сделать. – Jens