FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

SQL SORGU HATASI

+3 oy
739 kez görüntülendi

arkadaşlar merhaba,

aşağıda ki gibi bir sorgum var. sql den veri cekerken like işlemindeki filtreyi ben fm üzerinden verebiliyormuyum. aşağıda ki sorguda like kısmına manuel değer girdiğimde sorgu doğru calısıyor fakat ben field içerisinde ne yazıyorsa ona göre sorguyu çalıştırmak istiyorum. bunu sorguda nasıl tanımlayabilirim.

 

SELECT "IbrahimE_MasrafKartlari_Kaliphane"."TİP KODU", "IbrahimE_MasrafKartlari_Kaliphane"."TİP ADI", "IbrahimE_MasrafKartlari_Kaliphane"."SINIF KODU", "IbrahimE_MasrafKartlari_Kaliphane"."SINIF ADI", "IbrahimE_MasrafKartlari_Kaliphane"."GRUP KODU", "IbrahimE_MasrafKartlari_Kaliphane"."GRUP İSMİ", "IbrahimE_MasrafKartlari_Kaliphane"."msg_S_0133", "IbrahimE_MasrafKartlari_Kaliphane"."msg_S_0134", "IbrahimE_MasrafKartlari_Kaliphane"."msg_S_1530"
FROM "IbrahimE_MasrafKartlari_Kaliphane"
where "msg_S_0133" like N'Kaliphane_Talep_Programi::K01'

21, Şubat, 2019 SQL kategorisinde ibrahimergunoz (13,200 puan) tarafından soruldu

1 cevap

+2 oy
Like çalışmıyordu yanlış hatırlamıyorsam hatta pek çok sql kodu çalışmıyordu
21, Şubat, 2019 Goksel_Gokce (98,530 puan) tarafından cevaplandı
abi yukarıda yazdıgımda gorulecegı uzere ben bır fıeld alan tanımlamaya calıstım. o yuzden calısmadı. lakin alan değilde direk değer girdiğimde çalışıyor. örneğin oraya like 'K01' yazarsam sorgulamam direk geliyor. ama önemli olan field içerisinde ki değere göre sorgulamanın yapılması.
dusun abı onbınlerce satıs kaydım var ben subat ayına aıt satısları getırmek ıstıyorum yada martı getırmek ıstıyorum degısebılır tercıhler
Burada direkt olarak alan gösteremezsiniz. Yapmanız gereken

.....
WHERE alanadi LIKE '%aranacak_ifade%'

şeklinde olmalıdır.
abi peki bunun bir yolu yokmu? like kısmını fm fieldından alamazmıyım
Yanlış anlamadıysam bu işlemi Import Records ile yapmaya çalışıyorsunuz.

Bildiğim kadarı ile  Import Records fonsiyonununda değişken kullanamıyorsunuz.
Eğer  Import Records fonksiyonu ile yapmaya çalışıyorsanız; ExecuteSQL fonksiyonu ile çalışmanızı öneririm.

ExecuteSQL ile LIKE çalışıyor ama LIKE ile değişken denemedim. Siz bir deneyin olmaz ise; Eğer aranacak ifade tam bir ifade ise IN kullanabilirsin.

ExecuteSQL ( "
SELECT  alanadi1, alanadi2, alanadi3
FORM tabloadi
WHERE diger_alanadi IN (" & $degiskenAdi & ")
; "" ; "" )
Ben de merak ettim denedim değişken ile de oluyor :)
abi uzak masa üstü ile bana yardımcı olabilir misin
Kusuruma bakmayın. Şu anda bağlanmam pek mümkün değil ama akşam saat 21 den sonra müsait olunca mesaj atarım. O zaman bağlanıp bakabilirim. Sizin için de uygun olur ise.
abi evde bilgisayarım yok. o yuzden yarın sabah halledelim olurmu
abi sql yürüttüğümüz zaman o verileri import ediyormu. execute sql ın mantıgı nedır. ben degısken ıle ımport etmek ıstıyorum esasen. bırde yukarıda yapmıs oldugun ornek de alan adı dıye tabır ettıklerın sql ıcerısındekı alanlarmı yoksa fm ıcerısındekı alanlar mı
...