MySQL Sorgusunda Text Veya Varchar Alanında Bulunan Fiyatlar

Kodla Büyü

mustafayilmaz28

Süper Üye
Süper Üye
Seçkin Üye
Mesajlar
1,425
MySQL sorgusunda text veya varchar alanında bulunan fiyatlar için between kullanımı nasıl olur?

alan turu text yada varchar iken bu alana fiyat yazıyorum 1000,2020 gibi,
sql sorgumda
tablodakialan BETWEEN 100 AND 2000
tablodakialan >=100

gibi kodlarım çalışmıyor?
 
WHERE requiredDate BETWEEN CAST('2003-01-01' AS unsigned) şeklinde deneyebilirsiniz


BETWEEN CAST('100' AS unsigned) AND CAST('2000' AS unsigned)
 
hocalarım teşekkür ederim cevaplarınıza,
hocam sizin kod tamamdır. :)

bir soru daha :)
alttaki tabloozellik adlı yeşil tabloda
ozellikETIKET=şeker ve ozellikETIKET=kabuk ve ozellikETIKET=renk ve ozellikICERIK=evet ozellikICERIK=sert ozellikICERIK=yeşil
olan kaydın ozellikURUNID değerini almak için nasıl bir MySQL sorgusu yazmam lazım :?:
 

Ekli dosyalar

  • soru-arama-sorgusu.JPG
    soru-arama-sorgusu.JPG
    44.5 KB · Görüntüleme: 1,232
sorunu tam anlamış değilim hocam ya saat geç oldu yada sorunuz anlaşılır değil..... :(
 
hocam geç oldu haklısınız :(

hocam resimde bulunan 3 adet tablodan ortaki tabloozellik tablosunda arama yapmak istiyorum
ama
arama formundan
şeker -> evet veya hayır
kabuk -> sert veya yumuşak
renk -> yeşil veya kırmızı
seçildi ise
be verilere eşleşen tüm satırları bulup bunların ozellikURUNID değerlerini bize verecek
 
select ozellikURUNID from tabloozellik where ozellikETIKET="Şeker" and (ozellikICERİK="Evet" or ozellikICERİK="Hayır") şeklinde diğerlerinede uydurabilirsiniz galiba...
 
olmuyor hocam ya :(
where IN komutu var ama oda veya içeriyor.
şeker -> evet ise
ve
kabuk -> sert ise
ve
renk -> yeşil ise
(yani bu üçüde uyuyorsa) ozellikURUNID al

şeker -> evet ise
ve
kabuk -> sert ise
ve
renk -> yeşil (uymuyorsa)
sorgu sonucu false olmalı
 
amaçladığınız şeyi doğru anladıysam eğer, bence tablo yapısını yanlış kurmuşsunuz en baştan.

ozellikETIKET alanındaki her bir ögeyi bence column olarak inşaa edip, ozellikICERİK değerlerini bu column'lara değer olarak girmelisiniz.
 
girdap08' Alıntı:
amaçladığınız şeyi doğru anladıysam eğer, bence tablo yapısını yanlış kurmuşsunuz en baştan.

ozellikETIKET alanındaki her bir ögeyi bence column olarak inşaa edip, ozellikICERİK değerlerini bu column'lara değer olarak girmelisiniz.
hocam bu alanları (yani ozellikETIKET Alanındaki değerleri) MYSQL pivot tablo ile sutüna çevirebiliyoruz ki bu konuda başarılı olamadım. kaynak yok desem yeridir.
bir kaç makale var PİVOT TABLE konusunda ama bunlarda çalışmadı.

şuanda bu tablo yapısında kontrolü yapmaktan başka bi çare maalesef yok, :(
 
mustafayilmaz28' Alıntı:
girdap08' Alıntı:
amaçladığınız şeyi doğru anladıysam eğer, bence tablo yapısını yanlış kurmuşsunuz en baştan.

ozellikETIKET alanındaki her bir ögeyi bence column olarak inşaa edip, ozellikICERİK değerlerini bu column'lara değer olarak girmelisiniz.
hocam bu alanları (yani ozellikETIKET Alanındaki değerleri) MYSQL pivot tablo ile sutüna çevirebiliyoruz ki bu konuda başarılı olamadım. kaynak yok desem yeridir.
bir kaç makale var PİVOT TABLE konusunda ama bunlarda çalışmadı.

şuanda bu tablo yapısında kontrolü yapmaktan başka bi çare maalesef yok, :(
anladım. yani sıfırdan inaşa etmiyorsunuz db 'i. var olan sistem üzerinde mi bu sorguları yapmak durumundasınız değil mi?
 
Select ozellikURUNID from tabloozellik where ozellikETIKET in("Şeker", "Kabuk", "Renk") and ozellikICERIK in("Evet", "Sert", "Yeşil")


al hocam sana 3 tane 1 dönderiyor ne işin varsa gör bakalımmm
 
die4you' Alıntı:
Select ozellikURUNID from tabloozellik where ozellikETIKET in("Şeker", "Kabuk", "Renk") and ozellikICERIK in("Evet", "Sert", "Yeşil")


al hocam sana 3 tane 1 dönderiyor ne işin varsa gör bakalımmm
hocam öncelikle teşekkür ederim.
ama maalesef :( olmuyor

Kod:
Select ozellikURUNID from tabloozellik where ozellikETIKET in("Şeker", "Kabuk", "Renk") and ozellikICERIK in("Evet", "Sert", "Yeşil")
bu sorguda etiket şeker olup içerik evet olan VEYA etiket kabuk olup içerik sert olanı... getiriyor

benim istediğim ise
etiket şeker olup içerik evet olan VE etiket kabuk olup içerik sert olanı... Getirmesi
yani
şu sorgunun sonucu olmamalı
Kod:
Select ozellikURUNID from tabloozellik where ozellikETIKET in("Şeker", "Kabuk", "Renk") and ozellikICERIK in("Evet", "Sert", "elmaarmutvss")
 
SELECT
ozellikURUNID,
IF((ozellikETIKET="Şeker" or ozellikETIKET="Kabuk" or ozellikETIKET="Renk") and (ozellikICERIK="Evet" or ozellikICERIK="Sert" or ozellikICERIK="Yeşil"),1,0) AS durum
FROM
Tablo1

şöyle bir kod var hocam elimde belki işine yarar
 
Tabloda sorgulama tek satır olarak yapılır. Sen 6 satırı birden sorgulatıp tek değer almak istiyorsun bu imkansız. Tablo yapın yanlış

6 Sorgulamanda VE bağlacı ile bağlanmış. Bu demek oluyorki tek ürün sorgulamayla doğru sonucu bulabilirsin
ozellikETIKET=Şeker VE ozellikICERIK=Evet olduğunda ozellikURUNID 1 değerini veriyor.

Sen en iyisi tablolarını şöyle yap

bu ürünler tablon
urunid|urunadi

bu da özellikler tablon olsun
ozellikid|urunid|urunozellik

bu şekilde istediğin sorgulamayı yapabilirsin.
 
hocam tablo yapısını değiştirmem mümkün değil şuanda maalesef :(
hocam verdiğin kod sanırım biraz çözüm üretiyor (bu kodu bana açıklamanız mümkünmü üzerinde değişiklik yapabileyim)
ama pivot table ile oluyor bunun esası fakat kaynak yok
türkçe kaynak da hiç bulamadım.

teşekkür ederim ilginize inşallah buradan bişiler çıkarırım.
 
Geri
Üst