我正在尝试在地点列表中选择员工的唯一随机发布/招聘地点,所有员工都已在这些地点发布,我正在尝试为他们生成一个新的随机发布地点,其“位置”条件为“员工新随机位置将不等于他们的家”员工表是:
EmpNo Empname CurrentPosting Home Designation RandomPosting
1 Satish Kumar Samastipur Gazi Manager
2 Anil Kumar Singh Vaishali Patna Manager
3 Rajdev Prasad Nawada Gaya PO
4 Rajesh Kumar Sheikhpura Muzaffarpur PO
5 Jitendra Kumar Banka Bhagalpur Clerk
等等...
并且 Places 表是
PlaceID PlaceName Manager PO Clerk
1 Araria 2 0 1
2 Arwal 1 1 1
3 Aurangabad 1 0 2
4 Banka 2 1 1
5 Begusarai 1 1 1
6 Bhagalpur 1 1 2
7 Bhojpur 0 2 0
等等...
我尝试使用 rand() 和 newid() 如下所示,
select Employee.*, Place.PlaceName As RandomPosting from Employee
inner join Place on Place.PlaceID=Employee.EmpNo order by newid()
但无法选择所需的内容......即为每个员工随机分配一个 PlaceName(来自 Place),它不等于 CurrentPosting 和 Home(在员工中)。
提前致谢。