我使用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