我有一张存储重要日期的表格。
importantDateType
列可以是1或2.鉴于这是前端的下拉列表。
我有两个表格来存放选民部门和村庄细节。我所做的是importantDateParent
中的存储是选民部门或村庄的ID。
我的问题是,如果特定记录的importantDateType
为1,重要日期表应与选民分区表一起加入并获得选民分部的名称。如果特定记录的importantDateType
为2,则重要日期表应与Village表一起加入并获取该村的名称。
我现在正在使用的是
SELECT `tbl_importantdates`.*,
`tbl_elecdivision`.`elecDivName`,
`tbl_villages`.`villageName`
FROM (`tbl_importantdates`)
LEFT JOIN `tbl_elecdivision` ON `tbl_importantdates`.`importantDateParent` = `tbl_elecdivision`.`elecDivID`
LEFT JOIN `tbl_villages` ON `tbl_importantdates`.`importantDateParent` = `tbl_villages`.`villageID`
WHERE `tbl_importantdates`.`status` = '1'
我不希望有两列,例如tbl_elecdivision
。elecDivName
和tbl_villages
。villageName
。如何将名为importantDateTypeName
的列包含选民部门或村庄的名称,具体取决于importantDateType
是1还是2?
答案 0 :(得分:1)
你是否尝试使用案例......当你的选择条款
时......你应该这样:
select `tbl_importantdates`.*,
case when importantdatetype = 1 then tbl_elecdivision.elecDivName,
case when importantdatetype = 2 then tbl_villages. villageName
else 'nothing' end name
--.......rest of code your comes here