كيفية إزالة عمود في مجموعة البيانات والصفوف متميزة للعثور على أسماء المجموعة الوحيدة؟

StackOverflow https://stackoverflow.com/questions/845434

  •  21-08-2019
  •  | 
  •  

سؤال

ولدي مجموعة البيانات التي لديها 3 أعمدة.

Name    -    insurance comp. name     -     treatmentDate
Ali Boz      SGK                            12.04.09
Ali Boz      SGK                            14.04.09
Ali Boz      SGK                            16.04.09
Ali Boz      SGK                            18.04.09
Veli Aş      AKBANK                         10.04.09
Veli Aş      AKBANK                         11.04.09
Veli Aş      AKBANK                         12.04.09
Veli Aş      AKBANK                         13.04.09
Cuneyt Sel   ING BANK                       01.05.09
Cuneyt Sel   ING BANK                       02.05.09
Cuneyt Sel   ING BANK                       05.05.09
Cuneyt Sel   ING BANK                       19.05.09

وأريد أن أجد أولا شركات التأمين فقط. أسماء

SGK
AKBANK
ING BANK

وبعد ذلك أريد أن فرز بالاسم والتاريخ

ولكن كل تلك الأشياء في مجموعة البيانات (السبب أريد أن retrive كافة الصفوف من ديسيبل).

هل لديك أي نصيحة لي؟

هل كانت مفيدة؟

المحلول

إذا يمكنك استخدام LINQ، وهذا سوف تعطيك أسماء شركة التأمين:

var Names = (from Row in YourDataSet.YourTable
             select Row.InsuranceCompanyName).Distinct();

ويمكنك أيضا إضافة .ToArray() أو .ToList() أو orderby اعتمادا على الاحتياجات الخاصة بك، إذا لزم الأمر.

إذا لا يمكنك استخدام LINQ أو تغيير المكالمة SQL، انها أكثر تعقيدا.

نصائح أخرى

ولست متأكدا بالضبط ما لديك الطلب، ولكن لاسترداد أسماء شركة التأمين، هل يمكن ببساطة تنفيذ ما يلي:

SELECT DISTINCT [insurance comp. name]
FROM [tablename]

لفرز كافة السجلات كما ذكرتم:

SELECT *
FROM [tablename]
ORDER BY [insurance comp. name], [name], [treatmentdate]

وانها بسيطة جدا باستخدام DataView.ToTable:

DataView view = new DataView(table);
DataTable distinctTable = view.ToTable(true, "insurance comp. name");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top