由于现有的数据库模式设计不正确,我必须以特殊方式编写select语句,如this thread中所示。从平面数据集中的父子表中检索数据
SELECT MAX(CASE WHEN Name = 'C' THEN RelativePath END) AS C,
MAX(CASE WHEN Name = 'CC' THEN RelativePath END) AS CC,
MAX(CASE WHEN Name = 'S' THEN RelativePath END) AS S,
MAX(CASE WHEN Name = 'SC' THEN RelativePath END) AS SC,
MAX(CASE WHEN Name = 'R' THEN RelativePath END) AS R,
MAX(CASE WHEN Name = 'RC' THEN RelativePath END) AS RC
FROM myTable
WHERE ID = pId;
现在,我需要将其输出与其父表的select语句连接起来。亲子表的结构如下:
Parent
-------------------
id -> the primary key
third_party_id
createdBy
createdDate
...
Child
-------------------
id -> the primary key of its Parent table
Name
...
select语句的我想要的输出结果是一样的东西对于一个给定的ID如下:
third_party_id, createdBy, createdDate, C, CC, S, SC, R, RC
子表可能没有给定父表键的条目。我使用左连接选择语句,但无法获得所需的结果。数据库是mySQL。
如果单个select语句不起作用,如何为输出构造一个存储过程?
请编辑您的问题,并提供样品数据和预期结果。 –