اخواني ، لدي جدول به الاسم والعنوان ، فمثلا الاسم : محمد علي ، العنوان : القاهرة
اريد من داخل SQL وضع شرط بحيث اذا تم اضافة عنوان اخر الي نفس الاسم ان يرفض ويخبرني بان هذا الاسم له عنوان مسجل مسبقاً ، كيف اخلق هذا الشرط داخل SQL
اخواني ، لدي جدول به الاسم والعنوان ، فمثلا الاسم : محمد علي ، العنوان : القاهرة
اريد من داخل SQL وضع شرط بحيث اذا تم اضافة عنوان اخر الي نفس الاسم ان يرفض ويخبرني بان هذا الاسم له عنوان مسجل مسبقاً ، كيف اخلق هذا الشرط داخل SQL
أعتقد أن لديك مشكلة في تصميم الجدول والا لما وقعت في هذه المشكلة، أنت تريد أن يكون لكل اسم عنوان واحد، لابد أن تمنع تكرار الإسم، لكن الإسم لايعتمد عليه فقد يكون هناك أكثر من شخص لديهم نفس الإسم، يمكنك استخدام معرف id، إما رقم تسلسلي تختاره أنت أو رقم الهوية أو أي رقم يميز الأشخاص عن بعض مثلاً شيء مثل:
create table person (
id int primary key,
name varchar(255) not null,
address varchar(255) not null
);سأوضح مسألتي بشكل ادق ، انا اعمل علي قاعدة بيانات في الشركة التي اعمل بها ، هذه القاعدة بها جداول كثيرة ومن ضمن هذه الجداول جدول باسم اوامر الشغل (work orders table) حيث يختص هذا الجدول بقائمة تحتوي علي رقم امر الشغل والمعدّة او الجهاز المراد تنفيذ امر الشغل له ، اعني هنا بامر الشغل اي رقم الصيانة التي ستكون علي جهاز او معدّة ما ، اريد عند خلق امر شغل جديد علي نفس المعدّة او الجهاز ان ينفذ الشرط الذي كنت قد طلبته ، مع العلم انني لا استطيع التعديل علي القاعدة سوى كتابة query ، الجدول مجهّز مسبقاً من قبل الشركة الصانعة له ، في مثالي السابق كنت اريد توضيح الفكرة فقط ، علي حسب اعتقادي بانني يمكن كتابة IF ELSE في SQL .
كيف تختار الاسم في اول مره في البرنامح اذا كان عميل او قديم كيف تعرف تكرار العميل من عدم وجوه عندك
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); لم افهم سؤالك ، ولكن يمكنني ان اوضح لك الامر بشكل اخر ، كيف استطيع كتابة if else statement في SQL
ممكن ترفق قاعدة البيانات
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); اخي بداية القاعدة حجمها كبير اكثر من واحد جيجا ، ثانياً علي ما اعتقد بان الموضوع لا يحتاج بان ارفع القاعدة ، كل ما اطلبه هو كيف يمكن كتابة شرط من داخل قاعدة البيانات
IF - ELSE
السلام عليكم
في الاستعلام يمكنك كتابة شرط باستخدام جملة case
مثال :
SELECT case when x < 10 then x*10 else x end FROM table1
طبعا Case لها عدة تفاصيل لذا يمكنك الرجوع الى ملفات المساعدة BOL لمعرفة المزيد عنها .
اخواني شكرا على الردود , ولكن فى الحقيقة انا ما زلت تائهاً لم اجد اجابة لطلبي , كيف اضع الشرط في المثال التالي :
اذا كان العنوان كما فى مثالي السابق , اذا ادخل العنوان مرة اخرى هنا اريد التحقق من الشرط , مثلا
IF NAME = ??? AND ADDRESS = ??? THEN YOU CANNOT INSERT
ملاحظة مهمة : علامة ؟؟؟؟ هذه ليست قيمة محددة , بل هي ما يقوم المستخدم بادخاله الان .
ارجو ان اكون قد وفقت فى شرح مسالتي
أخي أعتقد أنك لم تجد إجابة لأنك تعتمد على فكرة ليست صحيحة وتقيس عليها، عندما تنشئ جدول إجعل الإسم مفتاح أو فريد uniqe وأضف حقل للعنوان، حينها لن تسمح قاعدة البيانات بإضافة صف جديد بهذا الإسم، إنظر هنا:
> -- أنشأنا جدول فيه حقل الإسم مفتاح فريد
> create table person(
name varchar(255) primary key,
address varchar(255) not null
);
>
> -- أضفنا محمد من جدة، لامشكلة
> insert into person values('Mohammad', 'Jeddah');
> -- أضفنا علي من الرياض، لامشكلة
> insert into person values('Ali', 'Riyad');
>
> -- أضفنا محمد من الدمام، منعتنا قاعدة البيانات لأن الإسم موجود أصلاً
> insert into person values('Ali', 'Dammam');
Error: column name is not unique
>
> -- للتحقق من أن الصف موجود نستعلم عنه ونحسب عدد الصفوف، إن وجدها فسيعطينا 1 وإذا لم يجدها فسيعطينا صفر
> select count(1) from person where name = 'Ali';
1
> select count(1) from person where name = 'Nasser';
0
>لكن كما قلت في ردي الأول أن استخدام الإسم كفتاح ليس خيار جيد، لأنك ممكن تصادف أكثر من شخص لديهم نفس الإسم ومن ثمّ ستظهر مشكلة.
يا اخي تحتاج الي قراءة كتاب مفهوم قواعد البيانات والعلاقات بين الجداول اكثر
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); اخواني ، كل ما تم ذكره منكم اعرفه جيداً ، ولكن اعتقد انني غير موفق في توضيح سؤالي ، انا اريد كيفية عمل الشرط في SQL
في مثال اخي Mr.B واضح جداً جداً ، لكن انا سؤالي ببساطة :
الجدول به الحقول التالية :
ID : autonumber
NAME
ADDRESS
اذا تم ادخال address لاسم ادخل له من قبل address هنا اريد التاكد من الشرط واظهار النتيجة ، انا لا اعلم ما يقوم المستخدم بادخاله الان ، where هنا ليست معلومة لدي ، where هنا متوقفة علي الاسم الذي سيختاره الان المستخدم
كيف اتحقق من where name حسب ما سيدخل المستخدم الان ، لا اريد قول where ali , where ahmed , انا اريد where ما اختاره الان المستخدم او ما الاسم الذي يدخله الان المستخدم ، where هنا متوقفة علي الاسم الذي يدخله المستخدم الان ، ارجو ان اكون قد وضحت بعض الشيئ
يا اخواني كيف يمكنني كتابة جملة شرطية IF - ELSE داخل SQL بحيث اضع شرط واذا تحقق هذا الشرط لا تتم عملية insert
السلام عليكم
الرد
يتم عن طرق البحث بالحقلين معا
dim sql1 as string
sql1=" select * from tablename where address='" & textbox1.text & "'" a
تم تعديل هذه المشاركة بواسطة abdhassan في 1 أغسطس 2013 في 05:44