我想在此表中添加另一列,如果第一部分的模式为“现金”,则在PersonID前面提出“Cash to Electronic”,并在第二部分的模式中提出“电子”。
PersonID InstalmentNumber DateOfInstalment Mode
50023467 2 15-Mar-12 Electronic
50023467 1 15-Feb-12 Electronic
50023468 2 5-Apr-12 Cash
50023468 1 5-Mar-12 Cash
50023469 2 15-Mar-12 Electronic
50023469 2 15-Mar-12 Electronic
50023469 1 15-Feb-12 Electronic
50023469 1 15-Feb-12 Cash
50027967 2 15-Mar-12 Electronic
预期产出:
PersonID InstalmentNumber DateOfInstalment Mode Flag
50023467 2 15-Mar-12 Electronic
50023467 1 15-Feb-12 Electronic
50023468 2 5-Apr-12 Cash
50023468 1 5-Mar-12 Cash
50023469 2 15-Mar-12 Electronic
50023469 2 15-Mar-12 Electronic
50023469 1 15-Feb-12 Cash
50023469 1 15-Feb-12 Cash Cash To Electronic
50027967 2 15-Mar-12 Electronic
答案 0 :(得分:2)
尝试这种方式:
select distinct t.PersonID,t.InstalmentNumber,t.DateOfInstalment,t.Mode,
case
when x.PersonID is not null
and t.Mode = 'Cash'
and t.InstalmentNumber = 1
then 'Cash to Electronic'
else null
end as Flag
from tab t
left join tab x on x.PersonID = t.PersonID AND
x.Mode = 'Electronic' AND
x.InstalmentNumber = 2
<强> Sql Fiddle Demo 强>
答案 1 :(得分:0)
大概参加聚会,但是我会使用窗口功能
> babel-react-webpack-flow-boilerplate@1.0.0 flow F:\dev\web\proptype-test
> flow
Error ----------------------------------------------------------------------------------- src/js/components/App.js:32:16
Cannot compare boolean [1] to statics of `App` [2].
src/js/components/App.js:32:16
32| export default injectProp<AppProps>(App);
^^^^^^^^^^^^^^^^^^^ [1]
References:
src/js/components/App.js:10:7
10| class App extends Component<AppProps, {}> {
^^^ [2]
Error ----------------------------------------------------------------------------------- src/js/components/App.js:32:27
Cannot reference type `AppProps` [1] from a value position.
src/js/components/App.js:32:27
32| export default injectProp<AppProps>(App);
^^^^^^^^
References:
src/js/components/App.js:5:11
5| interface AppProps {
^^^^^^^^ [1]
Error --------------------------------------------------------------------------------------------- src/js/index.js:17:1
Cannot call `ReactDOM.render` because boolean [1] is not a React component.
src/js/index.js:17:1
17| ReactDOM.render(<App message="A" />, entryEl);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
References:
src/js/components/App.js:32:16
32| export default injectProp<AppProps>(App);
^^^^^^^^^^^^^^^^^^^^^^^^^ [1]
Error -------------------------------------------------------------------------------------------- src/js/index.js:17:17
Cannot call `ReactDOM.render` with `<App />` bound to `element` because boolean [1] is incompatible with string [2] in
type argument `ElementType` [3].
src/js/index.js:17:17
17| ReactDOM.render(<App message="A" />, entryEl);
^^^^^^^^^^^^^^^^^^^
References:
src/js/components/App.js:32:16
32| export default injectProp<AppProps>(App);
^^^^^^^^^^^^^^^^^^^^^^^^^ [1]
C:\Users\User\AppData\Local\Temp\flow\flowlib_6db8195\react.js:159:5
159| | string
^^^^^^ [2]
C:\Users\User\AppData\Local\Temp\flow\flowlib_6db8195\react.js:167:29
167| declare type React$Element<+ElementType: React$ElementType> = {|
^^^^^^^^^^^ [3]
Error -------------------------------------------------------------------------------------------- src/js/index.js:17:17
Cannot create `App` element because boolean [1] is not a React component.
src/js/index.js:17:17
17| ReactDOM.render(<App message="A" />, entryEl);
^^^^^^^^^^^^^^^^^^^
References:
src/js/components/App.js:32:16
32| export default injectProp<AppProps>(App);
^^^^^^^^^^^^^^^^^^^^^^^^^ [1]
Found 5 errors
Only showing the most relevant union/intersection branches.
To see all branches, re-run Flow with --show-all-branches