У меня есть следующие таблицы:
create table part_category(id text primary key);
create table parts (id text primary key not null,
cat references part_category(id));
create table products (id text primary key not null);
create table product_parts (product references products(id),
part references parts(id),
qty integer);
create table locations (id text primary key not null,
stage text not null);
create table stock (part references parts(id),
cat references part_category(id),
location references locations(id),
qty integer,
date text);
create table orders (part references parts(id),
cat references parts(cat),
product references products(id),
qty integer not null default 0,
date_order text,
date_due text,
date_done text,
status boolean,
primary key(part, product, date_due));
И я хотел бы получить это из select
:
Деталь, Категория, Продукт, Кол-во, Заказанная дата,Срок исполнения, Кол-во материала , Кол-во на складе , Кол-во вытираний
Выделенные выше столбцы - это те, которые я не могуВычислять.Ниже мой выбор с подзапросом, где я пытаюсь получить кол-во акций .
Проблема в том, что запрос возвращает ноль для всего.
orders = db.execute('''select distinct o.part, o.cat, o.product, o.qty,
o.date_order, o.date_due, o.date_done,
julianday(date_due) - julianday(date_order) as days_due,
(select stock.qty from stock, orders
where stock.part = orders.part and stock.location = 'stock' and orders.status = 1)
as qty_stock
from orders as o join stock as s on o.part = s.part
where o.status = 1
order by o.date_due asc, o.product asc, o.part asc''').fetchall()
Пример вывода
for item in orders:
print item['part'], item['qty'], item['qty_stock']
SOME_PART_NUMBER 3 0
Но должно быть:
SOME_PART_NUMBER 3 22