使用这个样本数据集:MYSQL SQL(self)join?
CREATE TABLE test. test2 (id VARCHAR(7), AA INT, BBB INT, CCC VARCHAR (12));
INSERT INTO test.test2 (id, AA, BBB,CCC) VALUES ('A123', 45, 123, '2011-03');
INSERT INTO test.test2 (id, AA, BBB,CCC) VALUES ('A120', 52, 120, '2011-03');
INSERT INTO test.test2 (id, AA, BBB,CCC) VALUES ('A133', 63, 133, '2011-03');
INSERT INTO test.test2 (id, AA, BBB,CCC) VALUES ('D123', 34, 123, '2011-04');
INSERT INTO test.test2 (id, AA, BBB,CCC) VALUES ('D120' ,32, 120, '2011-04');
INSERT INTO test.test2 (id, AA, BBB,CCC) VALUES ('D140', 12, 140, '2011-04');
林找表3列。
Col从原始描述的“Id”顺序。作为上一行或下一行的上一行Id(其中CCC是相同的),列B中的“Id2”作为上一行或下一行。
Id, Id2 CCC
A120 A123 '2011-03'
A123 A133 '2011-03'
A133 '2011-03'
D120 D123 '2011-04'
D123 D140 '2011-04'
D140 '2011-04'
或
Id, Id2 CCC
A120 '2011-03'
A123 A120 '2011-03'
A133 A123 '2011-03'
D120 '2011-04'
D123 D120 '2011-04'
D140 D123 '2011-04'
OR
Id, Id2 CCC
A123 A120 '2011-03'
A133 A123 '2011-03'
D123 D120 '2011-04'
D140 D123 '2011-04'
我能添加一个autocrement山口到连接表,然后用1,2,3行向上或向下?那么id2会基于这个自动调整行?
'child.id IS NULL'可以被移除而不会造成伤害,或者我需要一些咖啡? – 2011-04-21 22:44:27
@ypercube,Thnks ....如果我想向上/向下移动2行,那么如何更改代码? – Merlin 2011-04-21 22:51:50
@ user428862:我的回答不是一个简单的改变。 – 2011-04-21 23:18:43