求和自定义列

时间:2017-08-01 22:24:59

标签: mysql sql

第一个Stackoverflow问题 - 所以对我来说很简单:)。

您好,我正在尝试使用我编写的以下查询将项目标记为“Attributed”。基本上,如果患者ID具有PERSON_PROVIDER_RELATIONSHIP标志,则为该实例给予1。如果他们有另一种类型的旗帜(你可以收到另外两种可能的旗帜)。一切顺利(将“1”分配给PERSON_PROVIDER_RELATIONSHIP的实例),但是当我尝试对我创建的自定义列(“归因”)求和时,我收到此错误:(列“归因”不存在)。我得到这个错误,无论我是否尝试创建另一个列进行求和,或者当我在末尾添加“having”子句时,我声明我只想查看总和为> 0的记录。任何帮助将在这里受到赞赏!我正在使用MySQL写这篇文章,我很乐意提供任何澄清信息。

<form method="post" action="#" role="login" id="formID" >
    <select name="states" id="state" required class="form-control input-lg">
        <option value="" selected="selected">select an option</option>
        <option value="AL">ADRAR</option>
        <option value="AK">AIN DEFLA  </option>
    </select>
</form>


$servername = "localhost";
$username = "root";
$password = "";
$db_name = "me";

mysql_connect($servername,$username,$password);
mysql_select_db($db_name);

$uwilaya = $_POST ['states'];

$sql = "INSERT INTO userz (wilaya) VALUES ('$uwilaya')";

if($_POST['submit']) {
    $query = mysql_query($sql); 
}

1 个答案:

答案 0 :(得分:1)

您不能在相同的SELECT子句中使用别名列名作为表达式。你必须做这样的事情:

sum(case when t.ref_record_type = 'PERSON_PROVIDER_RELATIONSHIP' then 1 else 0 end) over (partition by c.empi_id) as "Attribution Flag"