说我有一张3列的表格:version_id
,name
,value
。发现版本ID中名称/值对之间的差异
从概念上讲,这个表格有一堆名称 - 值对,每个version_id
。
如何编写一个查询,该查询仅显示名称值对在版本-ID中不相同的前两个version_ids的名称值对?
此外,我想知道是否有一种方法可以将不同的名称 - 值对并排放置在不同的version_ids中,也可以让结果中的行彼此相邻。
基本上,我想要比较两个版本的差异。
例子:
version_id name value
23459 jsLibrary2 JQuery_1_4_3
23459 jsLibrary1 CrossDomainAjax_1_0
23456 jsLibrary2 JQuery_1_4_2
23456 jsLibrary1 CrossDomainAjax_1_0
23456 groovyInclude2 GroovyUtilities
23454 jsLibrary2 JQuery_1_4_2
23454 jsLibrary1 CrossDomainAjax_1_0
23454 groovyInclude2 GroovyUtilities
理想的查询结果:
23456 jsLibrary2 JQuery_1_4_2
23459 jsLibrary2 JQuery_1_4_3
23456 groovyInclude2 GroovyUtilities
23459 NULL NULL
注意,最好将注意新的名称 - 值对(其中名称不小VERSION_ID存在)和删除名称 - 值对(其中名称不存在于较大的version_id中)
你能举一个小例子吗? – 2012-03-14 01:36:13
我添加了一个例子。 – Muhd 2012-03-14 01:49:48
你试过了:select table_id,name,value from tablename group by concat(name,“”,value) – 2012-03-14 02:03:27