Есть запрос:
SELECT vr.id as id,ut.name as unit, vr.count AS count, c.articles as articles, c.url as url, c.rating as rating, t.text as text, t.minitext as minitext, t.name as name, c.status_id as status, i.img as img, i.water as water, vr.cost as cost
FROM product c
RIGHT JOIN productVariants vr ON vr.product_id = c.id
LEFT JOIN product_text t ON c.id = t.product_id
LEFT JOIN productImgs i ON vr.id = i.productVariant_id
LEFT JOIN productCategory pc ON pc.product_id = c.id
LEFT JOIN units_text ut ON c.unit_id = ut.unit_id
WHERE t.lang_id = ? AND pc.category_id = ? AND t.lang_id = ut.lang_id
AND i.number = 1
AND vr.main = 1
ORDER BY vr.cost ASC
LIMIT ?,?
`
Вместо ? значения переменных.
Задача, Выбирать только с одним из productVariants чтобы не использовать поле vr.main
~ то что хотелось бы получить, но увы так не работает
SELECT vr.id as id,ut.name as unit, vr.count AS count, c.articles as articles, c.url as url, c.rating as rating, t.text as text, t.minitext as minitext,t.name as name,c.status_id as status, i.img as img, i.water as water, vr.cost as cost
FROM product c
RIGHT JOIN productVariants vr ON vr.product_id = c.id
LEFT JOIN product_text t ON c.id = t.product_id
LEFT JOIN productImgs i ON vr.id = i.productVariant_id
LEFT JOIN productCategory pc ON pc.product_id = c.id
LEFT JOIN units_text ut ON c.unit_id = ut.unit_id
WHERE t.lang_id = ? AND pc.category_id = ? AND t.lang_id = ut.lang_id
AND i.number = 1
AND vr.main = 1
GROUP BY vr.product_id
ORDER BY vr.cost ASC
LIMIT ?,?
Логически правильный порядок связей.
SELECT vr.id as id,ut.name as unit, vr.count AS `count`, c.articles as articles, c.url as url, c.rating as rating, t.text as text, t.minitext as minitext,t.name as name, c.status_id as status, i.img as img, i.water as water, vr.cost as cost
FROM `productVariants` vr
INNER JOIN `product` c ON vr.product_id = c.id
INNER JOIN product_text t ON c.id = t.product_id
LEFT JOIN productImgs i ON vr.id = i.productVariant_id
INNER JOIN productCategory pc ON pc.product_id = c.id
INNER JOIN units_text ut ON c.unit_id = ut.unit_id
WHERE t.lang_id = ? AND pc.category_id = ? AND t.lang_id = ut.lang_id AND i.number = 1 AND vr.main = 1
ORDER BY vr.cost ASC
LIMIT ?,?
Пришёл к
SELECT vr.id as id,ut.name as unit, vr.count AS `count`, c.articles as articles, c.url as url, c.rating as rating, t.text as text, t.minitext as minitext,t.name as name, c.status_id as status, i.img as img, i.water as water, vr.cost as cost
FROM `productVariants` vr
INNER JOIN `product` c ON vr.product_id = c.id
INNER JOIN product_text t ON c.id = t.product_id
INNER JOIN productImgs i ON vr.id = i.productVariant_id
INNER JOIN productCategory pc ON pc.product_id = c.id
INNER JOIN units_text ut ON c.unit_id = ut.unit_id
WHERE t.lang_id = ? AND pc.category_id = ? AND t.lang_id = ut.lang_id AND i.number = 1 AND vr.id = (SELECT id FROM productVariants invr WHERE invr.product_id = c.id LIMIT 0,1)
ORDER BY vr.cost
LIMIT ?,?
Но понимаю что ситуация требует мнения сбоку.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Доброго времени сутокТакой вопрос, datetime имеет размер 8 байт, при использовании crc32(datetime) у нас будет использоваться только половина данных...
У меня есть некий java файл, в нем прописан package - допустим package comya
readUTF() будет дожидаться сообщения от другого хоста, останавливая поток, или сразу же будет считывать? Если закрыть входной поток iStreamclose(): 1
Добрый день, пытаюсь написать консольный калькулятор и не пойму почему не работает циклВот код калькулятора, все работает