|
|
#1 (permalink) |
|
Üyelik Tarihi: 09.04.2006
Yer: İstanbul
Mesaj: 77
|
Veritabanından girilen değere en yakın değere sahip kaydı çağırmak
Elimde yaklaşık 700 kayıttan oluşan bir SQL veritabanım var.İçinde en, boy ve fiyat bilgileri var. Kullanıcının girmiş olduğu en ve boy bilgilerine en yakın olan kaydı çağırmam gerekiyor. Örnek vermek gerekirse.Tabloda 3 kayıt olduğunu varsayalım. en boy fiyat 500 300 100 600 400 150 700 550 200 Kullanıcınıcımızın girmiş olduğu en=540 boy=330 olduğunda bunlara en yakın olan kayıtlar en=500 boy=300 satırından fiyat bilgisi çekilip kullanıcıya 100 ytl olarak göstermem lazım.Bir iki deneme yaptım (where en<540 nd boy<330 limit 1 ) gibi ama tam net bir sorgu oluşturamadım.Bu anlattıklarımı yapabilmem için nasıl bir sorgu yazmam lazım?
__________________
meczup.net İki delinin hikayesi... |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 28.03.2003
Yer: İzmir
Yaş: 26
Mesaj: 790
|
Re: Veritabanından girilen değere en yakın değere sahip kaydı çağırmak
Sorduğun şey aslında çok fazla komplike olmakla beraber, farkı en küçük olan sayılar birbirlerine en yakın sayılardır diyebiliriz ;
Veritabanı: id x 1 300 2 600 3 700 Adamın girdiği değerler: x 500 SELECT *,ABS(500-x) AS fark FROM bisey ORDER BY fark DESC LIMIT 1 olurdu, ancak senin iki adet verin var, bu durumda önceliği olan veriyi seçmelisin, x e öncelik verirsen; Veritabanı: id x y 1 300 600 2 600 500 3 700 300 Adamın girdiği değerler: x y 500 400 SELECT *,ABS(500-x) AS farkX, ABS(400-y) AS farkY FROM bisey ORDER BY farkX DESC, farkY DESC LIMIT 1 Yada sadece x veya sadece y ye en yakın olanı seçtikten sonra, bir de alanı en yakın olan değeri aynı yöntemle bulup sıralayabilirsin, veya işte kombine edip kafana göre birşeyler yapabilirsin.
__________________
#siberarena.com | tournament.online |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 09.04.2006
Yer: İstanbul
Mesaj: 77
|
Re: Veritabanından girilen değere en yakın değere sahip kaydı çağırmak
Çok teşekkür ederim, istediğim sorgu tam olarak buydu.
__________________
meczup.net İki delinin hikayesi... |
|
|
|
| Sponsorlu Bağlantılar | |
|
Zoque.Forum
Reklam
|
|
Zoque'a hoşgeldiniz!