0
Benim sorgu:tam satırları alın
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;
Amacım satırları almak için geçerli: Burada
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;
bu sorguyu yürütmek olmadığı kadar fazla satır döndürür yürüttüğünüzde
saledetail
tablosu ve karşılık gelen
priceperunit, taxid where productid, expdate, batchno, mrp
eşleşmesini bulun.
sorunu aynı (productid, expdate, batchno, mrp)
farklı taxid
çıkış öyle kayıt daha fazla arzu geliyor. Nasıl indirilir.
arasında bana veri göndermek yukarıda açık cevap Eğer bir var bu yüzden doğru 'join' koşullarını kullanmak olacaktır gibi sonra üzerinde sadece bir 2 koşulu yazmak zorunda 1-1 maç. Bunların ne olduğu tamamen açık değil, çünkü hangi eşleşen satırın doğru olanı belirlemesine yardımcı olabilecek soruda hiçbir bilgi vermiyorsunuz. –
Sorunuz çok muğlak olduğundan, yinelenen satırları kaldırmak için "GROUP BY" kullanmayı deneyebilirsiniz. –
Lütfen "GROUP BY" (ya da "DISTINCT") 'i anlamadan kullanmayın ** neden ** yinelenen satırlarınız var. –