拥有来自不同来源的经过解析的经纪人名称的大表。我想按名称标准合并所有数据,以摆脱重复,并统一每个经纪人的相关信息 源表'经纪人的结构':
<xs:schema>
<xs:element name="MyRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="SubReq">
<xs:complexType>
<xs:sequence>
<xs:element name="list" minOccurs="0" maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:string" />
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
...
</xs:schema>
我想得到的结果是:
id|name|website|logo|year|origin|offices|employess|languages|phone|address|
56|AxiTrader|www.axitrader.com| empty |2010| UK |empty |120|English|06546584|empty|
36|AxiTrader|www.axitrader.com|logo.png|2010|empty|Head|empty|empty|empty|Ave 13|
因此,我想将所有行合并为具有相同名称的空列。 附:在当前表格中,我有~130列,因此列出每个列表都不是很好的变种。
我想做什么(SQL查询):
56|AxiTrader|www.axitrader.com|logo.png|2010|UK|Head|120|English|06546584|Ave 13|
但结果是,我选择了具有MAX值的行,但这些行仍未合并,只是没有重复的行。
表格结构:
SELECT id, MAX(name), MAX(website), MAX(logo), MAX(year), MAX(origin), MAX(offices), MAX(employees),
MAX(languages),
MAX(phone),
MAX(address),
MAX(types),
MAX(platforms),
...........
FROM brokers
GROUP BY name
答案 0 :(得分:0)
我的理解是你想基于SELECT查询创建一个新表。 SELECT查询本身就是这样 - 选择并返回你想要的数据 - 它不会改变你的表。你需要明确地创建它:
CREATE TABLE merged_table
AS (SELECT id, MAX(name) name, MAX(website) website,
MAX(logo) logo, MAX(year) year
.....
FROM brokers
GROUP BY name);
见这里: