在查詢的時候 咱們但願將將不一樣的查詢結果的列 結合在一塊兒,這是後能夠虛擬一張表 一個字段數據庫
數據庫查詢時的條件判斷 case when photosPath is null then 0 else 1 end as valueNull 判斷 photosPath 字段的值 根據判斷結果 產生兩個分支 then 和 else。我這個判斷是判斷:當數據列photosPath 爲空的時候產生一個列 這個列的值爲 0 不爲空的時候列的值爲一 1 而且區別名爲valueNull ,注意結尾必須有end 結束語句。完整查詢語句在下面,虛擬表中。 isNull(photosPath ,0) as valueNull isNull 使用來判斷列的值 是否是等於空,等於空 給產生一個新的列 將isnull 中的第二個參數賦值給這個新的列 as 用來取別名 ,別名爲 valueNull 虛擬表--查詢查詢結果 select p.label as pLabel from (select case when photosPath is null then 0 else 1 end as valueNull from PS_AuditTaskItemReport) as photo left join PS_DICT as p on p.type='valueNull' and p.value = photo.valueNull 在這個查詢語句中 我將(括號)中的查詢的數據虛擬成了一張表,而後查詢了這張表,而且將它與另一張進行鏈接最總查詢到想要的結果 虛擬字段--鏈接列 select distinct *, (select COUNT(isPass) from PS_AuditTaskItemReport where taskUnitID = '' group by isPass having isPass = '0' ) as qualified , (select COUNT(isPass) from PS_AuditTaskItemReport where taskUnitID = '' group by isPass having isPass = '1' ) as disqualification from PS_AuditUnitInfo 在這個查詢裏面,我將(括號)中的內容虛擬成一個列,查詢時用來顯示,這一列的結果會跟在from 查詢的每一行的後面,而且(括號)中的列的值是不會變的是固定的,