假设我有下表:
CREATE TABLE test(
id int identity not null primary key,
code nvarchar(50),
name nvarchar(50),
node_code nvarchar(50),
parent_node nvarchar(50),
prop1 int,
prop2 datetime,
prop3 nvarchar(50)
);
代码和名称是相关的,它们构成了属性的键。因此该表可能包含以下数据:
CODE001 NAME001 [3 PROPS]
CODE001 NAME001 [3 PROPS]
CODE002 NAME002 [3 PROPS]
CODE002 NAME002 [3 PROPS]
...
我知道这不是一个好的设计,但我必须忍受它。
现在的问题是我想获取代码名称列表以及它们的节点代码和父节点代码(节点代码对于代码和名称键是唯一的),而不是属性。我可以做这个:
select DISTINCT code, name, node_code, parent_code from test
但我严重怀疑这是否是最有效的方法。我需要建议。