2011-12-05 5 views
0

J'ai deux instructions de sélection que je veux grep les résultats de la table et de l'affichage puis une liste déroulante. Je suis capable de le faire pour chaque déclaration SELECT mais je suis incapable de sélectionner les deux en même temps.Instruction SQL SELECT à partir des deux tables

Voici mes 2 instructions SELECT:

string loggedIn= (User.Identity.Name); 

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

Comment puis-je combiner les deux SELECT déclarations à un seul?

Merci

Répondre

2

Vous pouvez le faire que par UNION parce que vous faites référence à deux tables différentes

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

@rabuddle merci, mais comment puis-je combiner à la fois l'instruction en un, comme je dois le former en une seule déclaration dans mon 'SqlDataSource1.SelectCommand =" SELECT STATEMENT "' – gymcode

+0

Puis 'CREATE VIEW' sur les deux tables, puis vous pouvez faire 'SELECT' sur la vue, il n'y a pas d'autre moyen – rabudde

1

vous pouvez utiliser UNION opérateur comme

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

'UNION all' peut entraîner en double! Il utilise 'DISTINCT' donc on peut supposer qu'il veut éviter les doublons – rabudde

+0

@Rashmi, merci pour la solution, mais même comme rabuddle, je voudrais poser la même question. Comment puis-je combiner à la fois la déclaration en un, comme je dois le former en une seule déclaration dans mon 'SqlDataSource1.SelectCommand =" SELECT STATEMENT "' – gymcode

+0

son un seul saté vous ne pouvez pas droit comme ça chaîne str = "SELECT DISTINCT ReportTitle de HRPastReports WHERE [nom d'utilisateur] LIKE '% "+ loggedIn +"%' "; union tous SELECT DISTINCT ReportTitle de FinancePastReports WHERE [nom d'utilisateur] LIKE '% "+ loggedIn +"%' ";"; SqlDataSource1.SelectCommand = str; –

Questions connexes