我需要你的帮助。我有下面的查询,但我认为没有按预期工作。
业务规则是Date1必须是最早的日期,否则则显示Date1不是最早的所有记录。我从这个查询开始,但我认为需要一些抽搐来工作,请你帮忙。
SELECT f.id_number,f.status,E.Date1,E.Date2,E.Date3,E.Date4,E.Date5,E.Date6
CASE
WHEN E.Date1 > E.Date2 THEN 'Date2' || ' ' || E.Date2
WHEN E.Date1 < E.Date3 THEN 'Date3' || ' ' || E.Date3
WHEN E.Date1 < E.Date4 THEN 'Date4' || ' ' || E.Date4
WHEN E.Date1 < E.Date5 THEN 'Date5' || ' ' || E.Date5
WHEN E.Date1 < E.Date6 THEN 'Date6' || ' ' || E.Date6
END AS THE_DATE
FROM
TableE E
LEFT JOIN TableF F
ON F.id_number = E.id_number
WHERE E.Date1 IS NOT NULL
答案 0 :(得分:1)
试试这个。使用<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.11/angular.min.js" data-require="angular.js@1.5.x" data-semver="1.5.11"></script>
</head>
<body ng-controller="MainCtrl">
<form name="myForm" novalidate>
<div style="padding: 10px">
<input name="Hazmat" ng-model="val.type" required ng-class="{'has-error':myForm.$submitted&&myForm.Hazmat.$invalid}">
<p ng-show="myForm.$submitted">
<span ng-show="myForm.Hazmat.$error.required">Required</span>
</p>
</div>
<button>Submit</button>
</form>
</body>
</html>
函数获取最早的日期。
LEAST()
这是一个示例数据输出
SELECT f.id_number,
f.status,
e.date1,
e.date2,
e.date3,
e.date4,
e.date5,
e.date6,
CASE
WHEN Least (e.date1, e.date2, e.date3, e.date4, e.date5, e.date6) =
date1 THEN
To_char(e.date1)
ELSE decode(Least(e.date1, e.date2), e.date1, '',
' Date2'
|| ' '
|| To_char(e.date2))
|| decode(Least(e.date1, e.date3), e.date1, '',
' Date3'
|| ' '
|| To_char(e.date3))
|| decode(Least(e.date1, e.date4), e.date1, '',
' Date4'
|| ' '
|| To_char(e.date4))
|| decode(Least(e.date1, e.date5), e.date1, '',
' Date5'
|| ' '
|| To_char(e.date5))
|| decode(Least(e.date1, e.date6), e.date1, '',
' Date6'
|| ' '
|| To_char(e.date6))
END THE_DATE
FROM (SELECT NVL(date2, date1),
NVL(date3, date1),
NVL(date4, date1),
NVL(date5, date1),
NVL(date6, date1) FROM TableE) E
LEFT JOIN tablef F
ON F.id_number = e.id_number
WHERE e.date1 IS NOT NULL;