selamlar,
bir sql sorgusunda yardıma ihtiyacım var destek olursanız çok memnun kalırım.
elimde stocks, products, branches tabloları var. ürünlerin hangi şubede kaç adet olduğunu öğrenmem gerekiyor. mesela izmir istanbul ve ankara şubeleri var. x üründen izmirde 5 istanbulda 11 ankarada 3 ürün kalmış gibi veri çekmem lazım. (ürünü son girilen yani stockId en son girilen değer kabul ediyorum.)
*Stocks
`StockId`
`ProductId`
`BranchId`
`UserId`
`StockType`
`StockQyt`
*products
`id`
`user_id`
`product_name`
*branches
`branch_id`
`branch_name`
sql sorgu yardım
6
●176
- 20-09-2022, 16:02:22
- 20-09-2022, 16:09:22hocam daha komplike bişey yani iç içe select kullanmak gibi (inner join biraz geliştirmek lazım)v4r1able adlı üyeden alıntı: mesajı görüntüle
SELECT StockQyt,branches.branch_name FROM Stock INNER JOIN branches ON Stock.BranchId=branches.branch_id WHERE Stock.ProductId=132 AND Stock.StockType='ENTER' GROUP BY Stock.BranchId ORDER BY Stock.StockId Desc
burada ilk kaydı getiriyor son kayıt lazım - 20-09-2022, 16:26:05Hocam MySQL kullandığınızı varsayıyorum. Anladığım kadarıyla aşağıdaki gibi bir sorgu işinizi görecektir. "ONLY_FULL_GROUP_BY" = `Disabled` olduğunu varsayıyorum.
select p.ProductName, SUM(s.StockQyt) Quantity,b.branch_name BranchName from Stocks s LEFT JOIN branches b ON s.BranchId = b.branch_id LEFT JOIN products p ON s.productId = p.id GROUP BY s.StockId,s.BranchId ORDER BY s.StockId
- 20-09-2022, 16:26:18max fonksiyonu kullanınca çözdümcagatayaykac adlı üyeden alıntı: mesajı görüntüle
SELECT max(StockId),max(StockQyt),branches.branch_name FROM stock INNER JOIN branches ON stock.BranchId = branches.branch_id WHERE stock.ProductId = 1 AND stock.StockType = 'ENTER' GROUP BY stock.BranchId ORDER BY stock.StockId DESC
StockQyt için max ekledim şimdi çalıştı istediğin buysa eğer - 20-09-2022, 16:49:43v4r1able adlı üyeden alıntı: mesajı görüntülelancelot adlı üyeden alıntı: mesajı görüntüleoktayc0 adlı üyeden alıntı: mesajı görüntülev4r1able adlı üyeden alıntı: mesajı görüntülelancelot adlı üyeden alıntı: mesajı görüntüleoktayc0 adlı üyeden alıntı: mesajı görüntüle
cevaplar için teşekkür ederim 🖐 amacım tek sorgu ile çözmekti çözemedim, bu yüzden kod kısmında döngü ile 3 sorgu yapmaya karar verdim.