En iyi yanıtlayıcılar
Veritabanından en son tarihe göre veri bulma

Soru
-
Iyi akşamlar. Postgrsql-de tablo yapım böyledir.
CREATE TABLE product ( id serial PRIMARY KEY NOT NULL, barcode varchar(50) UNIQUE NOT NULL, productname varchar(50) UNIQUE NOT NULL, categoryid int NOT NULL, FOREIGN KEY(categoryid) REFERENCES categories(id) on delete cascade on update cascade ); CREATE TABLE buy ( id serial PRIMARY KEY NOT NULL, productid int NOT NULL, miqdar int NOT NULL, alis numeric(6,2) NOT NULL, tarix TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY(productid) REFERENCES product(id) on delete cascade on update cascade );
Istediyim bu ki, urunun en son tarihde alınan zaman alış fiyatını bulmakdır. Bunun için max(tarih) kullandım. Aşağıdakı gibi. Tarih kısmı dogru geliyor ama alis_fiyat kısmı ilk tarihde olanı buluyor. Ben MAX kullanmama ramen neden böyle oluyor anlamıyorum.Nerde yanlış yapıyorum?
Not: FirstOrDefault kullandığım için böyle oluyor? Öyleyse max(tarih) ne için qruplamada yapmışım her urunden bir tane geliyor zaten.
var q = from n in ctx.buys group n by n.productid into g select new { Id = g.Max(t => t.tarix), ProductId= g.Key, Product = g.FirstOrDefault().product.productname, Alis_fiyati = g.FirstOrDefault().alis};
Yanıtlar
-
- Düzenleyen Altan Özdemir 22 Ağustos 2019 Perşembe 07:18
- Yanıt Olarak Öneren CetinBasozEditor 22 Ağustos 2019 Perşembe 12:59
- Yanıt Olarak İşaretleyen vusal.nurehmedov 23 Ağustos 2019 Cuma 19:16
-
var q = from n in cox.Buys orderby n.Tarix descending group n by n.productid into g let f = g.First() select new {Id=f.Tarix, ProductId = g.Key, Product = f.product.productname, Alis_fiyati = f.alis};
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
- Düzenleyen CetinBasozEditor 22 Ağustos 2019 Perşembe 12:59
- Yanıt Olarak İşaretleyen vusal.nurehmedov 23 Ağustos 2019 Cuma 19:16
Tüm Yanıtlar
-
- Düzenleyen Altan Özdemir 22 Ağustos 2019 Perşembe 07:18
- Yanıt Olarak Öneren CetinBasozEditor 22 Ağustos 2019 Perşembe 12:59
- Yanıt Olarak İşaretleyen vusal.nurehmedov 23 Ağustos 2019 Cuma 19:16
-
var q = from n in cox.Buys orderby n.Tarix descending group n by n.productid into g let f = g.First() select new {Id=f.Tarix, ProductId = g.Key, Product = f.product.productname, Alis_fiyati = f.alis};
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
- Düzenleyen CetinBasozEditor 22 Ağustos 2019 Perşembe 12:59
- Yanıt Olarak İşaretleyen vusal.nurehmedov 23 Ağustos 2019 Cuma 19:16