我有一个包含字段的表(id,parent_id,name,created_at)。我想写一个查询来选择id,name,created_at,parent_created_at。 'parent_created_at'是匹配父节点的记录的'created_at'字段(如果它有一个 - 即记录parent_id> 0),否则'parent_created_at'字段应该为空。有什么建议吗?
答案 0 :(得分:0)
自我加入+ ANSI SQL CASE表达式
SELECT t.id
, t.name
, t.created_at
, CASE WHEN t.parent_id > 0 THEN p.created_at ELSE NULL END AS parent_created_at
FROM Table t
JOIN Table p
ON t.id = p.parent_id
答案 1 :(得分:0)
Morpheous,
您的表中只有两行,所以请麻烦提供所有细节!所有你告诉我们的是他们的parent_id是什么,你的查询的连接条件取决于更多。
你能填写下面的......所以我们知道 完整 的详细信息吗?
CREATE TABLE t(...
INSERT INTO t VALUES (...
INSERT INTO t VALUES (...