اذهب إلى المحتوى
  • 0

كيف يمكنني دمج قيم الحقول ضمن الاستعلام SELECT في SQL؟

سعيد يوسف

السؤال

Recommended Posts

  • 1

يمكنك إستخدام الدالة CONCAT والتي تأخذ مُعاملان وتدمجهم ليصبحو معامل واحد كما في الشكل 

select concat(fname,lname) as fullname from employee

ولكن هذا إن كان كلاً من الحقل الأول والثاني من نوع السلسلة النصية , إن كان أحد الحقول أو كﻻهما من نوع بيانات أخر يجب أولاً تغيير هذا النوع وتحويله إلى سلسلة نصية, وتتم تلك العملية بشكلٍ مختلف حسب قاعدة البيانات المُستخدمة 

في SQL-SERVER: يمكنك إستخدام الدالة CONVERT  كما في الشفرة 

SELECT CONCAT( CONVERT(varchar(10), salary) , fname) as 'salary / name'
FROM employee

في postgres يمكنك إستخدام الدالة cast 

SELECT 	CONCAT(CAST(salary AS text),fname) AS name_salary

في mysql ﻻ يجب فعل شيئ فستقوم دالة concat بتحويل الأرقام إلى نصوص بشكلٍ تلقائي 

select concat(salary, fname) as name_salary

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

بتطبيق معامل بين أسماء الأعمدة حسب نوع الدمج الذي تريده

العمليات الحسابية

إذا كانت عملية دمج حسابية يمكن استخدام المعاملات الحسابية (جمع + ، طرح - ، قسمة / ، ضرب *) كالتالي

SELECT عمود2 + عمود1 FROM جدول;

SELECT عمود2 - عمود1 FROM جدول;

SELECT عمود2 / عمود1 FROM جدول;

SELECT عمود2 * عمود1 FROM جدول;

عمليات النصوص

إذا كانت عملية دمج نصية تمرر أسماء الأعمدة بالترتيب للتابع CONCAT، يمكن أيضا تمرير قيمة نصية ثابتة مع المعاملات
مثال نريد دمج قيم عمودين مع وضع فاصلة بينهما "," 

SELECT CONCAT(عمود2 ,',' ,عمود1) FROM جدول;

تغيير اسم الحقل الناتج

اسم العمود الناتج عن عملية الدمج يكون نفس نص صيغة الدمج كالتالي

  • "عمود1 + عمود2"
  • "(عمود2 ,',' ,عمود1)CONCAT"

لكي تعطي العمود اسما معبرا عن العملية التي تمت عليه يمكنك استخدام AS بعد صيغة العمود وتمرير الاسم الذي تريده

SELECT عمود2 + عمود1 AS المجموع FROM جدول;

SELECT CONCAT(عمود2, ',', عمود1) AS الأسماء FROM جدول;

تصبح أسماء الأعمدة في النتيجة

  • "المجموع"
  • "الأسماء"
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...