منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مساواة فيلد نوعه integer بفيلد نوع varchar في شرط في جملة select - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : مساواة فيلد نوعه integer بفيلد نوع varchar في شرط في جملة select (/showthread.php?tid=45684)



مساواة فيلد نوعه integer بفيلد نوع varchar في شرط في جملة select - bassant - 15-03-23

السلام عليكم اريد عمل view  اقوم فيه بربط جدولين عن طريق حقل ال id نوع حقل  ال id في الجدول الاول int ونوع  حقل ال id في الجدول الثاني varchar 

كيف اساوي قيمة  int  بقيمة varchar  


SELECT      *
FROM            dbo.tbl1 INNER JOIN
                        dbo.tbl2 ON dbo.tbl1.id= dbo.tbl2.id
هنا يعطي error  converting from varchar to type int


RE: مساواة فيلد نوعه integer بفيلد نوع varchar في شرط في جملة select - bassant - 15-03-23

(15-03-23, 01:06 PM)bassant كتب : السلام عليكم اريد عمل view  اقوم فيه بربط جدولين عن طريق حقل ال id نوع حقل  ال id في الجدول الاول int ونوع  حقل ال id في الجدول الثاني varchar 

كيف اساوي قيمة  int  بقيمة varchar  


SELECT      *
FROM            dbo.tbl1 INNER JOIN
                        dbo.tbl2 ON dbo.tbl1.id= dbo.tbl2.id
هنا يعطي error  converting from varchar to type int

ارجو المساعدة


RE: مساواة فيلد نوعه integer بفيلد نوع varchar في شرط في جملة select - Taha Okla - 15-03-23

(15-03-23, 01:06 PM)bassant كتب : السلام عليكم اريد عمل view  اقوم فيه بربط جدولين عن طريق حقل ال id نوع حقل  ال id في الجدول الاول int ونوع  حقل ال id في الجدول الثاني varchar 

كيف اساوي قيمة  int  بقيمة varchar  


SELECT      *
FROM            dbo.tbl1 INNER JOIN
                        dbo.tbl2 ON dbo.tbl1.id= dbo.tbl2.id
هنا يعطي error  converting from varchar to type int

وعليكم السلام ورحمة الله وبركاته

جربي تستخدمي الخاصية (Str)  لتحويل الحقول لـ قيم نصية
فيصبح كود الاستعلام :
كود :
SELECT *
FROM dbo.tbl1
INNER JOIN dbo.tbl2 ON
str(dbo.tbl1.id) = str(dbo.tbl2.id)



RE: مساواة فيلد نوعه integer بفيلد نوع varchar في شرط في جملة select - bassant - 16-03-23

(15-03-23, 06:50 PM)Taha Okla كتب :
(15-03-23, 01:06 PM)bassant كتب : السلام عليكم اريد عمل view  اقوم فيه بربط جدولين عن طريق حقل ال id نوع حقل  ال id في الجدول الاول int ونوع  حقل ال id في الجدول الثاني varchar 

كيف اساوي قيمة  int  بقيمة varchar  


SELECT      *
FROM            dbo.tbl1 INNER JOIN
                        dbo.tbl2 ON dbo.tbl1.id= dbo.tbl2.id
هنا يعطي error  converting from varchar to type int

وعليكم السلام ورحمة الله وبركاته

جربي تستخدمي الخاصية (Str)  لتحويل الحقول لـ قيم نصية
فيصبح كود الاستعلام :
كود :
SELECT *
FROM dbo.tbl1
INNER JOIN dbo.tbl2 ON
str(dbo.tbl1.id) = str(dbo.tbl2.id)

شكرا جزيلا الكود يعمل بالفعل  ولكن توجد مشكلة تؤدي انه لا يوجد نتائج لعملية الربط يعني الاستعلام يظهر فارغ والمشكلة هي ان الحقل id النصي varchar   في الجدول الثاني الداتا بداخله عبار ة عن رقم بين قوسين []  والحقل id في الجدول الاول  ونوعه الاساسي int عبارة عن رقم فقط  وعندما اقوم بتحويله في الاستعلام الى كود نصي ايضا لا يساوي القيم ف الجدول الثاني لان النصوص تصبح مختلفة لان كما ذكرت هو رقم مابين قوسين .. هل يوجد حل لذلك وما معنى القوسين عند وجودهما في الداتا