Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
sql : select count (*) 13.01.05 11:00 Число просмотров: 1542
Автор: paganoid Статус: Member Отредактировано 13.01.05 12:32 Количество правок: 1
|
Есть две таблицы, "накладные" (docs) и "строки накладной" (lines). К одной накладной
привязано несколько строк накладной. В строке есть поле "код товара" (goodscode).
В накладной есть поле "код" (code). Ура.
Итак, задача, сделать SQL запросом выборку ВСЕХ накладных, возвращающую
данные по накладным "код" и "количество товаров с определенным кодом".
Что делаю (синтаксис mysql, запросы пишу на память, не обессудьте)
SELECT code,count(lines.goodscode)
FROM docs LEFT JOIN lines ON docs.id = lines.doc_id
WHERE line.goodcode = "needed"
GROUP BY docs.id;
- возвращает только те накладные, где в строках есть указанный товар,
в количествах - правильные значения. Накладные, где строк нет -
в выборке отсутсвуют.
SELECT code,count(lines.goodscode)
FROM docs LEFT JOIN lines ON docs.id = line.doc_id
WHERE line.goodcode = "needed" or line.goodcode IS NULL
GROUP BY docs.id;
- возвращает те строки, где есть указанный товар,
и те строки где нет ни одной строки (в них в кол-ве 0).
Накладные, у которых есть строки с товарами, отличными от искомого,
в результирующий набор не попадают.
что делать? TFM читал.
|
- sql : select count (*) - paganoid 13.01.05 11:00 [1542]
|
|
|