Forum

"The multi-par...
 
Bildirimler
Hepsini Temizle

"The multi-part identifier "M.KARTID" could not be bound." Problemi!

16 Yazılar
3 Üyeler
0 Reactions
7,852 Görüntüleme
(@CigdemSa)
Gönderiler: 4
Active Member
Konu başlatıcı
 

Merhaba,

MS-SQL ile ilgili bir sorunum var umarım yardımcı olursunuz.

FireBird 2.1 de çalışan sql komut MS-SQL 2008 de çalışmıyor ve şu şekilde "The multi-part identifier "M.KARTID" could not be bound." diye bir hata veriyor.

SQL Kod şöyle;

* MUHASABE table indaki KARTID alanını  GET_MUHASEBE_AYLIK function una gönderiyorum ve yukardaki hatayı veriyor.

SELECT M.*
FROM MUHASABE M
LEFT JOIN GET_MUHASEBE_AYLIK(M.KARTID) A On 1=1
 

Sizce neden olabilir?

 

 
Gönderildi : 22/03/2011 18:49

(@cozumpark)
Gönderiler: 16307
Illustrious Member Yönetici
 


Merhaba,


MS-SQL ile ilgili bir sorunum var umarım yardımcı olursunuz.


FireBird 2.1 de çalışan sql komut MS-SQL 2008 de çalışmıyor ve şu şekilde "The multi-part identifier "M.KARTID" could not be bound." diye bir hata veriyor.


SQL Kod şöyle;


* MUHASABE table indaki KARTID alanını  GET_MUHASEBE_AYLIK function una gönderiyorum ve yukardaki hatayı veriyor.


SELECT M.*
FROM MUHASABE M
LEFT JOIN GET_MUHASEBE_AYLIK(M.KARTID) A On 1=1
 


Sizce neden olabilir?


 


SELECT M.KARTID FROM MUHASEBE AS M

SELECT GET_MUHASEBE_AYLIK(M.KARTID) FROM MUHASEBE AS M

bu sorguların sonuçları nedir?

 
Gönderildi : 22/03/2011 21:24

(@orhanakdogan)
Gönderiler: 311
Reputable Member
 

Merhaba,
string parametreler tek tırnak içinde olmalıdır. 

SELECT M.*
FROM MUHASABE M
LEFT JOIN GET_MUHASEBE_AYLIK('M.KARTID')  On 1=1

 
Gönderildi : 23/03/2011 01:13

(@orhanakdogan)
Gönderiler: 311
Reputable Member
 



SELECT GET_MUHASEBE_AYLIK(M.KARTID) FROM MUHASEBE AS M

bu sorguların sonuçları nedir?

GET_MUHASEBE_AYLIK functionı Table-valued Function dır.tablo döndürür ve yazdığınız şekilde kullanımı olamaz.

 
Gönderildi : 23/03/2011 01:22

(@orhanakdogan)
Gönderiler: 311
Reputable Member
 



SELECT GET_MUHASEBE_AYLIK(M.KARTID) FROM MUHASEBE AS M

bu sorguların sonuçları nedir?

GET_MUHASEBE_AYLIK functionı Table-valued Function dır.tablo döndürür ve yazdığınız şekilde kullanımı olamaz.

 
Gönderildi : 23/03/2011 01:22

(@orhanakdogan)
Gönderiler: 311
Reputable Member
 



SELECT M.KARTID FROM MUHASEBE AS M

SELECT GET_MUHASEBE_AYLIK(M.KARTID) FROM MUHASEBE AS M

bu sorguların sonuçları nedir?

GET_MUHASEBE_AYLIK functionı Table-valued Function dır.tablo döndürür ve yazdığınız şekilde kullanımı olamaz.

 
Gönderildi : 23/03/2011 01:23

(@cozumpark)
Gönderiler: 16307
Illustrious Member Yönetici
 



SELECT GET_MUHASEBE_AYLIK(M.KARTID) FROM MUHASEBE AS M

bu sorguların sonuçları nedir?



GET_MUHASEBE_AYLIK functionı Table-valued Function dır.tablo döndürür ve yazdığınız şekilde kullanımı olamaz.



1. M.KARTID'nin string parametre olduğu sonucuna nereden vardınız?
2. Fonksiyon özel olarak oluşturulmuş bir fonksiyon; table-valued olduğu nasıl anlaşılıyor?

 
Gönderildi : 23/03/2011 01:27

(@orhanakdogan)
Gönderiler: 311
Reputable Member
 

🙂
1.parametre mi? parametre. o zaman bir tipi olmalı, integer olabilirmi 🙂

2.Çiğdem hn. From dan sonra yazmış, from da kullanıyorsanız, Table-valued function dır.detaylı bilgiyi nette bulup öğrenebilirsiniz,

iyi çalışmalar..

(mesajlarım spam şeklinde gelmiş, isteyerek olmadı.)

 
Gönderildi : 23/03/2011 01:31

(@orhanakdogan)
Gönderiler: 311
Reputable Member
 

🙂
1.parametre mi? parametre. o zaman bir tipi olmalı, integer olabilirmi 🙂

2.Çiğdem hn. From dan sonra yazmış, from da kullanıyorsanız, Table-valued function dır.detaylı bilgiyi nette bulup öğrenebilirsiniz,

iyi çalışmalar..

(mesajlarım spam şeklinde gelmiş, isteyerek olmadı.silemiyorum.)

 
Gönderildi : 23/03/2011 01:31

(@cozumpark)
Gönderiler: 16307
Illustrious Member Yönetici
 


Merhaba,


MS-SQL ile ilgili bir sorunum var umarım yardımcı olursunuz.


FireBird 2.1 de çalışan sql komut MS-SQL 2008 de çalışmıyor ve şu şekilde "The multi-part identifier "M.KARTID" could not be bound." diye bir hata veriyor.


SQL Kod şöyle;


* MUHASABE table indaki KARTID alanını  GET_MUHASEBE_AYLIK function una gönderiyorum ve yukardaki hatayı veriyor.


SELECT M.*
FROM MUHASABE M
LEFT JOIN GET_MUHASEBE_AYLIK(M.KARTID) A On 1=1
 


Sizce neden olabilir?


 



Şu şekilde dener misiniz?


SELECT M.*
FROM MUHASABE M
LEFT JOIN GET_MUHASEBE_AYLIK(M.KARTID) A On 1=1
ORDER BY M.KARTID

 
Gönderildi : 23/03/2011 01:33

(@cozumpark)
Gönderiler: 16307
Illustrious Member Yönetici
 


Merhaba,
string parametreler tek tırnak içinde olmalıdır. 



Parametre kelimesini siz seçtiğiniz için polemik yapmamak adına ben de aynısını kullandım 🙂


Detaylı bilgiye erişim öneriniz için de teşekkürler. Dikkatten kaçan noktalar olabiliyor; deneyimli olan her insanın bildiği gibi

 
Gönderildi : 23/03/2011 01:41

(@CigdemSa)
Gönderiler: 4
Active Member
Konu başlatıcı
 

Herkese merhaba,

Yazdığınız bütün yöndemleri denedim ama olmadı. Net'tenden arştırdım ama yine bir sonuca ulaşamadım.

M.KartID  Muhasebe table inda integer bir alan.

Vakit ayırdığınız için herkese teşekkürler.

 
Gönderildi : 23/03/2011 14:43

(@cozumpark)
Gönderiler: 16307
Illustrious Member Yönetici
 


Herkese merhaba,


Yazdığınız bütün yöndemleri denedim ama olmadı. Net'tenden arştırdım ama yine bir sonuca ulaşamadım.


M.KartID  Muhasebe table inda integer bir alan.


Vakit ayırdığınız için herkese teşekkürler.



SELECT M.*
FROM MUHASABE M
LEFT JOIN GET_MUHASEBE_AYLIK(M.KARTID) A On 1=1
WHERE 1=1


böyle dener misiniz

 
Gönderildi : 23/03/2011 15:27

(@orhanakdogan)
Gönderiler: 311
Reputable Member
 

Herkese merhaba,

Yazdığınız bütün yöndemleri denedim ama olmadı. Net'tenden arştırdım ama yine bir sonuca ulaşamadım.

M.KartID Muhasebe table inda integer bir alan.

Vakit ayırdığınız için herkese teşekkürler.

Merhaba, M.KartID eğer bir field ise, t-sql de böyle bir kullanım yok zaten.

Böyle bir işlemi CROSS APPLY kullanarak yapabilirsiniz ancak;

LEFT JOIN yerine CROSS APPLY yazın..

SELECT M.*
FROM MUHASABE M
CROSS APPLY GET_MUHASEBE_AYLIK(M.KARTID) On 1=1


 

rica ederiz.

 
Gönderildi : 23/03/2011 16:26

(@CigdemSa)
Gönderiler: 4
Active Member
Konu başlatıcı
 

Dediğiniz doğru sanırım MS-SQL de böyle bir kullanım yok.

En iyisi başka bir yöntem bulmak.

Sağolun.

 
Gönderildi : 23/03/2011 16:32

(@CigdemSa)
Gönderiler: 4
Active Member
Konu başlatıcı
 

Evet dediğiniz gibi LEFT JOIN yerine CROSS APPLY kullandım ve kod çalıştı.

Çok teşekkür ederim.

 
Gönderildi : 23/03/2011 17:03

Paylaş: