У меня есть таблицы ProdBiscuit Как tb и StockData As sd, мне нужно получить сумму количества в StockData (quantite) с условием if (sd.status> 0 AND sd .prodid = tb.id И sd.matcuisine = 3)Получите сумму, сравнивая две таблицы
Вот мой SQL запрос
SELECT tb.id, tb.nom, tb.proddate, tb.qty, tb.stockrecno
FROM ProdBiscuit AS tb
JOIN
(SELECT id, prodid, matcuisine, status, SUM(quantite) AS rq FROM StockData) AS sd
ON (tb.id = sd.prodid AND sd.status > 0 AND sd.matcuisine = 3) LIMIT 25 OFFSET @Myid
Это не дает мне ни одной строки на всех?
Существует только 3 ряда в ProdBiscuit и 11 строк в Stockdata, и в StockData есть только 2 строки с условием.
И как показано на рисунке, есть только два ряда, которые дают условие.
Что плохого в моем запросе?
PS: Зеленые линии на изображении показывают условие в моем запросе.
Что такое значение '@ Myid' – Lock
Первой проблемой, которую я вижу, является запрос, к которому вы присоединяетесь, не имеет группы по выражению: Yo u должен иметь 'GROUP BY id, prodid, matcuisine, status' после' FROM StockData' – AgRizzo
@Lock Myid - это индекс для отображения в 25 строк, начиная с Myid. Поскольку существует только 3 строки, это не влияет на запрос. –