我的查询是:
CREATE OR REPLACE VIEW saledetailfortax AS
SELECT
sd.saledetaildate, sd.saledetailtime, sd.shopid, sd.productid,
sd.unitid, sd.expdate, sd.batchno, sd.mrp, sd.totalprice, sd.qty,
sd.looseqty, ord.priceperunit as priceperunit, ord.taxid
FROM
saledetail sd LEFT JOIN orvrcvdetailfortax ord
ON sd.productid = ord.productid
AND sd.expdate = ord.expdate
AND sd.batchno = ord.batchno
AND sd.mrp = ord.mrp
WHERE sd.saledetaildate <= '2016-03-31'
ORDER BY sd.saledetaildate , sd.saledetailtime;
这里执行它时会返回比执行此查询更多的行:
SELECT
sd.saledetaildate, sd.saledetailtime, sd.shopid,
sd.productid,sd.unitid, sd.expdate, sd.batchno,
sd.mrp, sd.totalprice, sd.qty, sd.looseqty
FROM saledetail sd
WHERE sd.saledetaildate <= '2016-03-31'
ORDER BY sd.saledetaildate, sd.saledetailtime;
我的目标是从saledetail
表中检索行并找出其对应的行
priceperunit, taxid where productid, expdate, batchno, mrp
匹配。
问题是同一个(productid, expdate, batchno, mrp)
不同的taxid
退出,所以记录不仅仅是欲望。如何减少它。
答案 0 :(得分:0)
CREATE OR REPLACE VIEW saledetailfortax AS
SELECT
sd.saledetaildate, sd.saledetailtime, sd.shopid, sd.productid,
sd.unitid, sd.expdate, sd.batchno, sd.mrp, sd.totalprice,
sd.qty, sd.looseqty, ord.priceperunit as priceperunit, ord.taxid
FROM saledetail sd LEFT JOIN orvrcvdetailfortax ord
ON sd.productid = ord.productid
WHERE sd.saledetaildate <= '2016-03-31'
ORDER BY sd.saledetaildate , sd.saledetailtime;
在上面的
之后你只需要写一个2条件其他发送给我两个表的数据