2016-08-02 125 views
0

我有一個excel工作表所示:如何比較Excel中的兩列?

column1  column2 
a   b 
b   w 
c   a 
d   c 
e   z 
f   k 
g   t 
h   y 
i   j 
j   d 
k   e 
l   f 

和我要匹配的列1第一值一個與每列2的每個值。如果發現值,我想在下一列中顯示一些消息,如發現或突出顯示值本身,然後值b應在第2列中找到依此類推。

Objective: 

實際上,我有兩個sql表中有多個列,這些表也有一些共同的列also.I只是想找出匹配的列名稱。如果有人也有其他方式,請讓我知道。 在此先感謝。

+0

XY問題...... –

+0

需要創建原始表的觸發器,讓我需要提取兩個表中的公共列名稱。 – Mogli

+0

你需要在Excel或SQL的解決方案 – vanathaiyan

回答

0

像這樣的東西應該在SQL Server

;with cte as 
(
SELECT * 
FROM (VALUES ('a','b'), 
       ('b','w'), 
       ('c','a'), 
       ('d','c'), 
       ('e','z'), 
       ('f','k'), 
       ('g','t'), 
       ('h','y'), 
       ('i','j'), 
       ('j','d'), 
       ('k','e'), 
       ('l','f')) tc (column1, column2) 
) 
SELECT column1, 
     CASE 
     WHEN EXISTS (SELECT 1 
         FROM cte b 
         WHERE a.column1 = b.column2) THEN 'Found' 
     ELSE 'Not Found' 
     END AS Identifier 
FROM cte a 

結果工作:

+--------+--------------+ 
|column1 | Identifier | 
+--------+--------------+ 
| a  | Found  | 
| b  | Found  | 
| c  | Found  | 
| d  | Found  | 
| e  | Found  | 
| f  | Found  | 
| g  | Not Found | 
| h  | Not Found | 
| i  | Not Found | 
| j  | Found  | 
| k  | Found  | 
| l  | Not Found | 
+--------+--------------+ 
+0

它工作正常,我可以直接寫入 - 選擇名稱從syscolumns WHERE id = object_id('表名')而不是'a'或'b'?所以它會直接獲取列名並且會在那裏執行! – Mogli