我最近在我们的一个表中添加了一个新列,需要包含另一列+ 365天的日期。单独更新每条记录是不可行的,我尝试过的所有内容都不起作用。主要是收到此错误:
子查询返回的值超过1。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。
我最近尝试编写以下脚本。
PARENT COMPONENT
@Component {
template: '
<select (change)="onPaymentTypeChange($event.target.value)" class="form-control" id="paymentType" required>
<option value="" disabled selected hidden>select payment type to begin</option>
<option value="pmtCreditCard">Credit Card</option>
<option value="pmtCheck">Check</option>
<option value="pmtWire">Wire Transfer</option>
</select>
<app-payment [paymentTypeSelector]="paymentType"></app-payment>
'
}
export class ParentComponent {
onPaymentTypeChange(selectorValue) {
console.log('paymentType ', this.paymentType);
console.log('selectorValue ', selectorValue);
this.paymentType = selectorValue;
}
}
CHILD COMPONENT
@Component {
inputs: [ 'paymentTypeSelector' ],
}
export class PaymentComponent implements OnInit {
paymentTypeSelector: string;
displayCheck = 'none';
displayWire = 'none';
constructor() {
console.log('paymentTypeSelected', this.paymentTypeSelector);
}
ngOnInit() {
console.log('here: ', this.paymentTypeSelector);
this.togglePaymentDisplay(this.paymentTypeSelector)
}
togglePaymentDisplay(paymentType) {
console.log('paymentTypeSelected', paymentType);
}
}
答案 0 :(得分:1)
这告诉您,您的唯一ID不是唯一的。此外,这些数据会在初始分配后发生变化吗?如果不是,您可以使用计算列。
答案 1 :(得分:1)
首先是功能正常的小样本。这意味着您的数据存在问题。
但是如果您使用的是单个表,请使用。 (我在我的样本中使用int而不是日期)
UPDATE A SET A.[enddate_dt ] = DATEADD(day,365, A.[appdate_dt])
FROM Table1 A;
答案 2 :(得分:0)
尝试看看这些是否真的很独特
SELECT A.uniqueid_c, COUNT(*)
FROM cd.mhc_appdiscfee A
GROUP BY A.uniqueid_c
HAVING COUNT(*) > 1
并且
SELECT B.uniqueid_c, COUNT(*)
FROM cd.mhc_appdiscfee B
GROUP BY B.uniqueid_c
HAVING COUNT(*) > 1
修改强>
另一项测试
SELECT A.uniqueid_c,
B.uniqueid_c,
COUNT(*)
FROM cd.mhc_appdiscfee A
INNER JOIN cd.mhc_appdiscfee B
ON B.uniqueid_c = A.uniqueid_c;
GROUP BY A.uniqueid_c,
B.uniqueid_c
答案 3 :(得分:0)
我在这里遗漏了什么吗?当然你可以这样做:
Update cd.mhc_appdiscfee set enddate_dt = DATEADD(day,365, appdate_dt)