我有一张这样的表
record element value
1 | 8767 | Name1
1 | 8768 | City1
2 | 8767 | Name2
2 | 8768 | City2
然后我想创建这样的报告
A | B
Name1 | City1
Name2 | City2
任何人都可以帮忙吗?
答案 0 :(得分:3)
SELECT
a1.value AS A,
a2.value AS B
FROM a AS a1 join a AS a2 ON
a1.record=a2.record
WHERE a1.element=8767 AND a2.element=8768;
如果您想测试它,可以使用
进行设置USE test;
CREATE TABLE a (record int not null, element int not null, value text not null);
INSERT INTO a VALUES (1, 8767, 'Name1'), (1, 8768, 'City1'), (2, 8767, 'Name2'), (2, 8767, 'City2');
答案 1 :(得分:0)
您需要将此表连接到自身。在这种情况下,您将在查询中使用其名称两次,因此您需要为它们提供一些查询唯一名称。最终要求如下:
SELECT A.*, B.*
FROM TABLE A
LEFT JOIN TABLE B ON A.RECORD=B.RECORD AND A.ELEMENT=B.ELEMENT
WHERE A.VALUE LIKE 'Name1%' AND B.VALUE LIKE 'City%';
祝你好运!