2011-05-23 210 views
0

可以說我有一個數據庫建這樣的:添加自定義列SQL查詢

NUM VALUE  
1  3.51 
2  hello 
1  3.487 
2  goodbye 
1  32.4 
2  foo 

我需要做補充,其中具有NUM「2」的所有值的另一列將是什麼英寸

eg

NUM  VALUE  value2 
1  3.51  hello  
1  3.487  goodbye 
1  32.4  foo 

任何想法我可以做到這一點? 謝謝!

+2

數據庫?以及如何知道什麼值配對?! – 2011-05-23 07:05:35

+0

@marc_s:我的格式!我的美麗格式... – 2011-05-23 07:06:07

+2

是否有一些額外的序列字段(日期或ID),將確切地定義這些行的順序'Num = 1'和'Num = 2'?例如。我怎麼知道「3.51」和「hello」屬於? – 2011-05-23 07:06:16

回答

3

在這個例子中,我使用SQLite,其中表源已經有一個內置的rowid。根據您使用的數據庫,您可能需要添加您自己的自動遞增整數列(即整數主鍵),但這個想法是相同的。

CREATE TABLE Source (num, value); 
INSERT INTO Source (num, value) VALUES (1, 3.51); 
INSERT INTO Source (num, value) VALUES (2, 'hello'); 
INSERT INTO Source (num, value) VALUES (1, 3.487); 
INSERT INTO Source (num, value) VALUES (2, 'goodbye'); 
INSERT INTO Source (num, value) VALUES (1, 32.4); 
INSERT INTO Source (num, value) VALUES (2, 'foo'); 

"1","3.51" 
"2","hello" 
"1","3.487" 
"2","goodbye" 
"1","32.4" 
"2","foo" 

SELECT a.num, a.value, b.value 
FROM Source a 
INNER JOIN Source b ON a.rowid = b.rowid - 1 
WHERE a.num = 1 AND b.num = 2 

"1","3.51","hello" 
"1","3.487","goodbye" 
"1","32.4","foo" 
+0

嗨和thnks爲快速回答,即時通訊使用mysql和我不認爲它有ROWID,也是什麼是「b.value」代表?任何sugestions?謝謝! – user765549 2011-05-23 10:46:56