我使用SQL Server 2014有两个表:ApplicationProjectLO
和V_SIP_ALLSTAFF
:SQL UNION不工作
表ApplicationProjectLO
:
|---------------------|---------------------------|
| StaffEmailId | Type |
|---------------------|---------------------------|
| chinkim1 | L |
|---------------------|---------------------------|
| kandiah1 | A |
|---------------------|---------------------------|
表V_SIP_ALLSTAFF
|---------------------|----------------|-------------------|---------------|
| lOGINID | displayname | Email Address |MainOfficeTelNo|
|---------------------|----------------|---------------- |-------------- |
| chinkim1 | james | 1 | 5 |
|---------------------|----------------|---------------- |---------------|
| kandiah1 | hoho | 2 | 8 |
|---------------------|----------------|---------------- |---------------|
我想根据'类型'显示信息。
所以如果StaffEmailId
匹配LONGINID
和类型是A
,A
类型(即hoho
,2
,和8
)必须显示的信息,并且如果类型是L
然后它james
,1
,和5
绝被显示。
我试图用UNION
和UNION ALL
在一个查询运行两个SELECT语句,但它只是基于该查询返回type=L
结果:
SELECT
vsa.displayname NameofLiaisonOfficer,
vsa.EmailAddress LOEmail,
'(65)' +' '+ convert(varchar, vsa.MainOfficeTelNo) as LOContactNo,
vsa.MainOfficeTelNo GeneralOfficeConatctNo
FROM ApplicationProjectLo ap
INNER JOIN V_SIP_ALLSTAFF vsa ON ap.StaffEmailId = vsa.LOGINID
WHERE ap.Type = 'L'
UNION ALL
SELECT
vsa.displayname NameofAlternateLiaisonOfficer,
vsa.EmailAddress AlternateLOEmail,
'(65)' +' '+ convert(varchar, vsa.MainOfficeTelNo) as AlternateLOContactNo,
vsa.MainOfficeTelNo GeneralOfficeConatctNo
FROM ApplicationProjectLo ap
INNER JOIN V_SIP_ALLSTAFF vsa ON ap.StaffEmailId = vsa.LOGINID
WHERE ap.Type = 'A'
MVC视图:
<tr>
<td colspan="3">
<strong>Name of Liaison Officer</strong>
<br />
<br /> @Html.DisplayFor(m => m.TPInformationDetails.NameofLiaisonOfficer)
</td>
@*
<td>
<strong>Room Number</strong>
<br />
<br />
</td>*@
<td>
<strong>Contact Number</strong>
<br />
<br /> @Html.DisplayFor(m => m.TPInformationDetails.LOContactNo)
</td>
<td>
<strong>Email Address</strong>
<br />
<br /> @Html.DisplayFor(m => m.TPInformationDetails.LOEmail)
</td>
</tr>
<!-- Table Row -->
<tr class="even">
<td colspan="3">
<strong>Name of Alternate Liaison Officer</strong>
<br />
<br /> @Html.DisplayFor(m => m.TPInformationDetails.NameofAlternateLiaisonOfficer)
</td>
<td>
<strong>Contact Number</strong>
<br />
<br /> @Html.DisplayFor(m => m.TPInformationDetails.AlternateLOContactNo)
</td>
<td>
<strong>Email Address</strong>
<br />
<br /> @Html.DisplayFor(m => m.TPInformationDetails.AlternateLOEmail)
</td>
</tr>
<!-- Table Row -->
为什么您使用的不是加入工会吗? – Zeina
你能先分离出问题吗? MVC是相关的吗? – qxg
根据提供的答案,它不使用绑定到查询的模型。例如,Name of LiaisonOfficer,但对于Type A,它是Name ofAlternateLisisonOfficer。如果我只是使用NameofLiaisonOfficer并绑定到视图,它将显示相同的结果。 – user3807187