嗨,我想这样写一个CASE STATEMENT:
CASE
WHEN A in ('AA','AV') and B = 'HH' then 'R'
我收到此错误:
ERROR [42803] [IBM] [DB2 / LINUXX8664]在GROUP BY子句中未指定或在SELECT子句中指定了以SELECT子句,HAVING子句或ORDER BY子句中指定的以“ B”开头的表达式,HAVING子句或具有列函数且未指定GROUP BY子句的ORDER BY子句。
但是我的选择子句中没有“ B”。
答案 0 :(得分:0)
此CASE
语句是SELECT,ORDER BY或HAVING子句的一部分。
对于此错误,与此代码结合,您还必须具有GROUP BY子句。您需要将B
作为该group by子句的一部分。否则,B
代表可能值的整个范围,其中一些可能满足或可能不符合= 'HH'
条件;代码不明确。
答案 1 :(得分:0)
您需要#-----Workernodes-----
resource "aws_instance" "nodes-opt-us1-k8s" {
instance_type = "${var.k8s-node_instance_type}"
ami = "${var.k8s-node_ami}"
count = "${var.NodeCount}"
tags {
Name = "nodes-opt-us1-k8s"
}
key_name = "${aws_key_pair.k8s-node_auth.id}"
vpc_security_group_ids = ["${aws_security_group.opt-us1-k8s_sg.id}"]
subnet_id = "${aws_subnet.opt-us1-k8s.id}"
#-----Link Terraform worker nodes to Ansible playbooks-----
provisioner "local-exec" {
command = <<EOD
cat <<EOF > aws_worker_nodes_IP
[workers]
${aws_instance.nodes-opt-us1-k8s.*.public_ip[count.index]}
EOF
EOD
}
}
之后再输入值
list1=['West North Central', '1', '0', '100', '90']
list2=[]
list3=[]
for i in list1:
if i.isdigit():
list3.append(i)
else:
list2.append(i)
answer = []
answer.append(' '.join(list2))
answer.extend(list3)
CASE的常规语法
END