У меня есть запрос, который отлично работает, когда я запускаю его на MySQL Workbench, но когда я запускаю его на Express, он возвращает мне все данные в моей базе данных.Пожалуйста, помогите исправить?
PS.опубликовал это раньше, но не получил исправления.
- Клиент
$.ajax({
url: '/filter',
type: 'get',
contentType: 'application',
data: { categoryIDs : checkedCategory,
materialIDs : checkedMaterial,
designIDs : checkedDesign},
success: function(response) {
console.log(response.products);
}
});
- Код сервера
getFilteredTable: function(req, res, next) {
var filter="SELECT COUNT(A.id) \
FROM tbl_product A JOIN tbl_product_details B ON A.id = B.prod_id \
JOIN tbl_category C ON A.id = C.prod_id \
JOIN tbl_material D ON A.id = D.prod_id \
JOIN tbl_design E ON A.id = E.prod_id \
WHERE C.category_id IN (?) \
AND (D.material_id IN (?) \
OR E.design_id IN (?))";
mysqlConnection.query(filter, [req.query.categoryIDs, req.query.materialIDs, req.query.designIDs], function(err, rows, fields) {
if(!err)
res.send({products : rows});
else
console.log(err);
});
},
Это мой запрос:
SELECT COUNT(A.id)
FROM tbl_product A
JOIN tbl_product_details B ON A.id = B.prod_id
JOIN tbl_category C ON A.id = C.prod_id
JOIN tbl_material D ON A.id = D.prod_id
JOIN tbl_design E ON A.id = E.prod_id
WHERE C.category_id IN (6) AND (D.material_id IN (15) OR E.design_id IN (39));
Я ожидаю, что результат будет (результат рабочей среды):
COUNT (A.id): 42
вместо этого он дает мне:
COUNT (A.id): 1582