我的问题是:
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
出口,所以记录比期望的要多。如何减少它。
发布于 2016-04-05 19:55:34
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;
你只需要像上面那样在on后面写一个2条件
其他人给我两个表的数据
https://stackoverflow.com/questions/36425058
复制相似问题