2013-02-27 2 views
0

Предположим, у меня есть таблица в SQL «abc» и в ней есть столбец «число», и этот столбец содержит (1,2,3,4) и т. Д.сравнить две таблицы и обновить третью

В моем втором столе «xyz» У меня есть столбец «число», и этот столбец содержит (1,2,3,4,5,6,7,8,9).

Теперь я хочу сравнить эти два и вставить равные данные в третью таблицу. Итак, как я могу это сделать?

код:

string str = "SELECT  Invoice_Details.PGI_ID, PARTY_BOOKING_DETAILS.PGI_ID AS abc "; 
str += "FROM   PARTY_BOOKING_MAIN INNER JOIN "; 
str += " PARTY_BOOKING_DETAILS ON PARTY_BOOKING_MAIN.PBM_ID = PARTY_BOOKING_DETAILS.PBM_ID CROSS JOIN "; 
str += "   Invoice_Details where PARTY_BOOKING_MAIN.PM_ID = 1 "; 

SqlConnection con = new SqlConnection("data source = .; database = ePartyDatabase01; integrated security = true"); 
con.Open(); 
SqlCommand cmd1 = new SqlCommand("update Invoice_Details set [status] = @a", con); 
SqlCommand cmd = new SqlCommand(str, con); 
SqlDataReader dr = cmd.ExecuteReader(); 
while (dr.Read()) 
{ 
    if (dr["PGI_ID"].ToString() == dr["abc"].ToString()) 
    { 

     cmd1.Parameters.AddWithValue("@a", 1); 

    } 
} 

dr.Close(); 
cmd1.ExecuteNonQuery(); 

con.Close(); 
+0

проверить резьбу http://stackoverflow.com/questions/4602083/sql-compare-data-from-two-tables – Madhabendra

+0

Также проверьте: http://stackoverflow.com/questions/5990586/mulitply-2- значения-from-2-different-tables – kyndigs

+0

быть четкими, в 3-й таблице вы вставляете 1,2,3,4? –

ответ

0

Вы, вероятно, хотите использовать какой-то этот запрос:

insert into table3 (number) 
select 
    t1.number 
from abc t1 
inner join xyz t2 
    on t1.number = t2.number 
0

Я не проверял это, но вы можете даже не нужно C#, попробовать что-то вроде это:

SELECT xyz.number 
INTO third_table 
FROM (
    SELECT t1.number 
    FROM first_table t1 JOIN second_table t2 ON t1.number = t2.number 
) AS xyz 
0

Может быть что-то вроде этого:

INSERT INTO table3(number) 
SELECT 
    number 
FROM 
    xyz 
WHERE NOT EXISTS 
    (
     SELECT 
      NULL 
     FROM 
      abc 
     WHERE 
      abc.number=xyz.number 
    ) 
Смежные вопросы