PDA

View Full Version : سوال: مقایسه 2 Table با هم



Mask
شنبه 04 اردیبهشت 1389, 16:01 عصر
با سلام
سوالم رو با یک مثال توضیح میدم.
در بانک اطلاعاتی ما دارای 3 تیبل هستیم.
در تیبل اول فیلدی به نام name داریم.
مقادیر تیبل 1 به شرح زیر است :
1- رضا
2- علی
3- محمد
4- علی
5- اصغر
6- محمود
7-فرشید
8- رضا
9- تقی
10-علی
مقادیر تیبل 2 :
1- علی
2- فرشاد
3- حسین
4- رضا
حالا سوال این است که من میخام مقادیر تیبل 2 با تیبل یک مقایسه بشه و هر کدوم که هم نام بودند . در تیبل سوم اینسرت بشه.
یعنی مقدار تیبل سوم بشه :
1-علی
2-علی
3-علی
4-رضا
5-رضا
در ضمن بنده از بانک اطلاعاتیه اکسس استفاده میکنم.
ممنون از دوستان .

حسین شهریاری
شنبه 04 اردیبهشت 1389, 20:52 عصر
سلام


Table1.first;
while not Table1.eof do
begin
Table2.first;
while not Table2.eof do
begin
if Table1.fieldbyname('Name').asstring=Table2.fieldby name('Name').asstring then
begin
Table3.insert;
Table3.fieldbyname ('Name').asstring:=Table1.fieldbyname('Name').asst ring;
Table3.post;
end;
Table2.next;
end;
Table1.next;
end;

به ازای هر سطر از تیبل1 یک بار تمام رکوردهای تیبل2 پیمایش میشه و اگه برابر بود در تیبل3 درج میشه حلقه بیرونی برای تیبل1 و حلقه درونی برای تیبل2 است.

این روش با کد نویسی بود البته با دستورات Sql هم میشه برای راهنمایی شما باید از Exist و Not Exist استفاده کنید.

موفق باشید