2011-12-05 172 views
0

我有2个select语句,我想grep表和显示的结果,然后下拉框。我能够为每个SELECT声明做到这一点,但我无法同时从两者中进行选择。来自两个表的SQL SELECT语句

下面是我2个SELECT语句:

string loggedIn= (User.Identity.Name); 

SELECT DISTINCT ReportTitle from HRPastReports WHERE [username] LIKE '%" + loggedIn + "%'"; 
SELECT DISTINCT ReportTitle from FinancePastReports WHERE [username] LIKE '%" + loggedIn+ "%'"; 

我怎么能在一个单一的一个结合两种SELECT报表?

谢谢

回答

2

只能通过UNION因为你引用两个不同的表

SELECT DISTINCT ReportTitle from HRPastReports WHERE [username] LIKE '%" + loggedIn + "%'"; 
UNION 
SELECT DISTINCT ReportTitle from FinancePastReports WHERE [username] LIKE '%" + loggedIn+ "%'"; 
+0

@rabuddle谢谢,但我该如何将这两个语句合并为一个,因为我需要在我的'SqlDataSource1.SelectCommand =“SELECT STATEMENT”' – gymcode

+0

'然后在两个表上创建一个语句,然后'CREATE VIEW',然后你可以在视图上做SELECT,没有别的办法 – rabudde

1

可以使用UNION运营商像

SELECT DISTINCT ReportTitle from HRPastReports WHERE [username] LIKE '%" + loggedIn + "%'"; 
union all 
SELECT DISTINCT ReportTitle from FinancePastReports WHERE [username] LIKE '%" + loggedIn+ "%'"; 
+1

'UNION ALL'会导致做到这一点重复!他使用'DISTINCT',所以人们可以假设他想避免重复 – rabudde

+0

@Rashmi,感谢你的解决方案,但同样的蛮干,我想问同样的问题。我如何将这两个语句合并为一个,因为我需要在我的'SqlDataSource1.SelectCommand =“SELECT语句”' – gymcode

+0

中将它形成一个单独的语句“ string str =”SELECT DISTINCT ReportTitle来自HRPastReports WHERE [用户名] LIKE'%“+ loggedIn +”%'“; union all SELECT DISTINCT来自FinancePastReports的ReportTitle WHERE [username] LIKE'%“+ loggedIn +”%'“;”; SqlDataSource1.SelectCommand = str; –