ANSI SQL问题

时间:2009-08-11 09:52:50

标签: sql

我有一个包含字段的表(id,parent_id,name,created_at)。我想写一个查询来选择id,name,created_at,parent_created_at。 'parent_created_at'是匹配父节点的记录的'created_at'字段(如果它有一个 - 即记录parent_id> 0),否则'parent_created_at'字段应该为空。有什么建议吗?

2 个答案:

答案 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 (...