использовать row_number (), который поддерживается большинством дБм
with cte as
( select p.Pname,e.Ename,e.salary
,row_number()over(partition by pe.Projno order by e.salaray desc) rn
from Proj_Emp pe join Proj p on pe.Projno=p.Projno
join Emp e on e.Empno=pe.Empno
) select * from cte where rn=1
"Надлежащий" путь состоит в том, чтобы просто добавить object
к TreeView
(или TreeViewItem
) Items
набор и использование a HierarchicalDataTemplate
чтобы управлять, как объект представляется:
Person.cs:
public class Person
{
private readonly ICollection<Person> _children = new ObservableCollection<Person>();
public string Name { get; set; }
public ICollection<Person> Children
{
get
{
return _children;
}
}
}
Window1.xaml.cs:
public Window1()
{
InitializeComponent();
var people = new List<Person>();
var kent = new Person() { Name = "Kent" };
kent.Children.Add(new Person() { Name = "Tempany" });
people.Add(kent);
_treeView.ItemsSource = people;
}
Window1.xaml:
<TreeView x:Name="_treeView">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:Person}" ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>