我知道SQL CASE不会接受in list
then
语句的CASE
部分。
我理想的是这样的情况:
CASE WHEN 'A' Then in list ['B' , 'C'] ELSE 'A' END
或
CASE WHEN 'A' Then 'B' or 'C' ELSE 'A' END
我正在使用此CASE语句作为设计SQL视图的一部分。
只是为了通知你,我已经检查了Multiple values in SQL CASE's THEN Statement,那里的答案对我没用。
编辑,问题描述和虚拟数据:
我的主要表是dbo.main
在此表中,我有表格中的数据
Year CTG
2015 A
2015 B
2015 C
2015 D
在我的设计视图中,我对此表示赞同:
SELECT DISTINCT YEAR, 'GENRL' AS SETID, '000001' AS LABOR_AGREEMENT, CTG
FROM dbo.main
现在我的最终目标是下表:
Year CTG
2015 B/C
2015 B
2015 C
2015 D
CTG
值是在另一个页面中启动另一个表格的关键,我希望该表格显示 CTG:B 和 CTG:C <的所有值/强>
答案 0 :(得分:0)
您可以使用搜索到的CASE
:
SELECT (CASE WHEN CTG = 'A' THEN 'B/C'
ELSE CTG
END)
FROM dbo.main
实际上,这也适用于简单的CASE
:
SELECT (CASE CTG WHEN 'A' THEN 'B/C'
ELSE CTG
END)
FROM dbo.main
答案 1 :(得分:0)
单行中的单个字段没有“或”可能性。单个colunm(字段)可以在一行中包含一个值。你要求的是什么,听起来像是可以通过带有额外值的第二列来解决(当案例适用时,或者为null),或者相反(但在你的问题中没有解决)一个额外的行,其上有额外的值。 /> 当您评论您想要“值”而不是连接(或其他)时,您可以生成额外列以适合第二个值,如下所示:
<html>
<head>
<link rel="stylesheet" href="<?php echo base_url()?>css/style.css">
<link rel="stylesheet" href="<?php echo base_url()?>css/tableCss.css">
<script type="text/javascript" scr="<?php echo base_url()?>js/jquery-1.12.0.js"></script>
<script type="text/javascript" scr="<?php echo base_url()?>js/projs.js"></script>
<script type="text/javascript" scr="<?php echo base_url()?>js/jquery.validate.min.js"></script>
<title>Questions</title>
</head>
<body>
<div class="frm"><?php $a=array("id"=>"myForm","name"=>"myForm");
echo form_open('site/search',$a); ?>
<div>
<?php echo form_label('Question:','question'); ?>
<?php echo form_input('question', set_value('question', @$_GET['question']), 'id="question"', 'name="question"'); ?>
</div>
<div>
<?php echo form_label('Category:','category'); ?>
<?php echo form_dropdown('category', $category_options, set_value('category', @$_GET['category']), 'id="category"', 'name="category"'); ?>
</div>
<div>
<?php echo form_label('Score:','score'); ?>
<?php echo form_dropdown('score_comparison', array('gt' => '>', 'gte' =>'>=' , 'eq' => '=', 'lt' => '<', 'lte' => '<='), set_value('score_comparison', @$_GET['score_comparison']), 'id="score_comparison"', 'name="score_comparison"'); ?>
<?php echo form_input('score', set_value('score', @$_GET['score']), 'id="score"', 'name="score"'; ?>
</div>
<div>
<?php echo form_submit('action','');?>
</div>
<?php echo form_close();?>
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#myForm").validate({
rules: {
question: {
required: true
}
},
messages: {
question:{
required: "Please enter some text"
}
}
});
});
</script>
</body>
</html>