3
我有以下DB模式:返回0計數在Postgres的jonined查詢
CREATE SCHEMA products;
CREATE TABLE products.product_group (
id bigserial NOT NULL PRIMARY KEY,
name varchar(255) NOT NULL
)
CREATE TABLE products.product (
id bigserial NOT NULL PRIMARY KEY,
name varchar(255) NOT NULL,
product_group_id bigint REFERENCES products.product_group(id),
color varchar(255) NOT NULL
)
INSERT INTO products.product_group(name) values ('product group 1');
INSERT INTO products.product(name,product_group_id,color) VALUES ('product 1',1,'RED');
INSERT INTO products.product(name,product_group_id,color) VALUES ('product 1',1,'BLUE');
INSERT INTO products.product(name,product_group_id,color) VALUES ('product 1',1,'GREEN');
如果我執行以下查詢:
SELECT count(*), pg.name FROM products.product p
LEFT JOIN products.product_group pg ON (p.product_group_id=pg.id)
WHERE pg.id = 1
AND p.color = 'RED'
GROUP BY pg.name
我得到的結果是:
1;"product group 1"
如果我執行以下查詢:
SELECT count(*), pg.name FROM products.product p
LEFT JOIN products.product_group pg ON (p.product_group_id=pg.id)
WHERE pg.id = 1
AND p.color = 'YELLOW'
GROUP BY pg.name
我得到沒有結果,BU我想有:
0;"product group 1"
如何需要更改查詢以獲得我想要的結果?