السلام عليكم و رحمة الله و بركاته
أيها السادة لدينا البيانات التالية من جدول:
===================
| Designiation | Code_Article|
===================
| 0001 | Chair |
| 0002 | Chair |
| 0003 | Chair |
| 0004 | Chair |
| 0005 | Table |
| 0006 | Table |
| 0007 | PC |
===================
فكيف أحصل على النتيجة التالية بكود sql:
======================
| Designiation | Code_Article |
======================
| 0001-0004 | Chair |
| 0005-0006 | Table |
| 0007 | PC |
=======================
بارك الله فيكم
كود :
Select * from TableName
Where
)
(Chair=0001) or (chair=0004)
And
(Table=0005) or (Table=0006)
And
(PC=0007)
(
لم تفهمني جيدًا
0001-0004 معناها من 0001 إلى 0004 فمثلًا إذا كان هناك رقم آخر لـ Chair مثلًا: 0010، يكتب :
0001-0004,0010
و حبذا لو يضاف حقل جديد يعطي عدد Chair و Table و PC
أضفت في المرفق ملف قاعدة البيانات و واجهة لكتابة كود sql و تنفيذه، للتأكّد من مدى فعالية الكود المعطى.
و بارك الله فيكم على التغاعل
سوف اعود لانني مستعحل الان
ماهي الاداة DBgride التي تعرض فيها النتيجة
اذا كانت تدعم expression يمكنك بسهولة تخصيص النتيجة في الحقل الذي تريد
(08-09-2018, 07:15 PM)Delphi4Us كتب : [ -> ]سوف اعود لانني مستعحل الان
ماهي الاداة DBgride التي تعرض فيها النتيجة
اذا كانت تدعم expression يمكنك بسهولة تخصيص النتيجة في الحقل الذي تريد
تأكّد أنّها و تدعم النتيجة (عن تجريب)، و أنا أجرّب من جهتي حتّى أصل للمطلوب
بارك الله فيك على حرصك، و جعلت إن شاء الله في ميزان الحسنات
السلام عليكم في الفيربيرد يوجد List function لا ادري بالنسبة للـ absolute
السلام عليكم و رحمة الله و بركاته
وصلت إلى مرحلة متقدّمة من الحلّ، و إن كان هناك الإشكال في تسلّسل البيانات حين لا يزيد Code_Article بواحد، حسب المثال السابق:
0001-0004
0005-0006
0007
هذا الذّي و صلت إليه، و لكن عندما يكون مثلًا 0010، لا زلت أعمل على ذلك، و هذه صورة للنتيجة على DBManager الخاصّ بقواعد بيانات Absolute Database، (حملها من الرفق إذا تعذّرت المعاينة):
و بارك الله في كلّ من اجتهد لنصل معًا إلى المطلوب.
السلام عليكم و رحمة الله وبركاته
يا جماعة بعد آخر حلّ وصلت:
لم أوفّق للتقدّم إلى المطلوب-و أنا على عجالة في هذا الأمر-، فهل هناك طريقة أخرى، مع العلم أنّه محتوى يراد به الطباعة على (FastReport)، و عرضه على (DBGrid).
و بارك الله فيكم.
السلام عليكم
هنا يجب استعمال loop لادراج قائمة معطيات في دالة او متغير
هاك مثال عن mysql
كود :
While loop syntax example in MySQL:
delimiter //
CREATE procedure yourdatabase.while_example()
wholeblock:BEGIN
declare str VARCHAR(255) default '';
declare x INT default 0;
SET x = 1;
WHILE x <= 5 DO
SET str = CONCAT(str,x,',');
SET x = x + 1;
END WHILE;
select str;
END//
Which prints:
mysql> call while_example();
+------------+
| str |
+------------+
| 1,2,3,4,5, |
+------------+
;والله اعلم
بارك الله فيك سيّدي الجميل، إلّا أنّي أستخدم قواعد بيانات Absolute database ، و قد ظننت أنّي وجدت الحلّ سابقًا بمعرفة الأمر declare، إلّا أنّ ما أستخدمه لا يدعم ذلك الأمر، أو أنّي لم أجد استخدامه بالطريقة المثلى، إذ أنّها في كلّ مرّة ترسل رسالة خطأ :
SQL token expected, but 'declare' found at line 1, column 1 - Native error: 30153