我如何查询:
SELECT *, due1 as newDate FROM equipments WHERE due1 <> "1990-01-01"
UNION ALL
SELECT *, due2 as newDate FROM equipments where due2 <> "1990-01-01"
UNION ALL
SELECT *, due3 as newDate FROM equipments WHERE due3 <> "1990-01-01"
ORDER BY newDate ASC
<\ n>在Laravel?
答案 0 :(得分:0)
如果您查看unions下的Laravel文档,您可以创建多个select语句,最后一个语句使用union()
函数和/或unionAll()
函数
答案 1 :(得分:0)
如上所述,解决方案是unionAll()语句:
$TMUDue = Equipments::Where('due1', '<>', '1990-01-01')
->select('*', 'due1 AS newDate');
$CalDue = Equipments::Where('due2', '<>', '1990-01-01')
->select('*', 'due2 AS newDate');
$SerDue = Equipments::Where('due3', '<>', '1990-01-01')
->select('*', 'due3 AS newDate');
$equipmentsDue = $SerDue->unionAll($CalDue)->unionAll($TMUDue)->orderBy('newDate' , 'ASC')->get();
有趣的是union()
结果只有due1
due2
<> 1990-01-01
为unionAll()
,而Test-AzureRmResourceGroupDeployment
结果为此示例中相同设备的两个条目
正是我在寻找的东西。谢谢你的回复!