表t1
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script>
<form id="projectForm">
<div class="project-details">
<h2>Project details</h2>
<label>Project name: </label>
<input type="text" class="reg-project-name" size="40" value="" name="projectName">
<br>
<button type="button" class="reg-next-button">Next</button>
</div>
<div class="project-address">
<h2>Project address</h2>
<label>Project address:</label><input type="text" class="reg-project-address" size="40" value="" name="projectAddress">
<br>
<button class="reg-next-button">Next</button>
</div>
</form>
表t2
col1 col2 col3
---- ---- ----
1 cat 2
2 dog 3
3 cat 4
4 dog 5
我想把它变成这样:
id type
---- ----
1 a
2 a
3 b
4 b
查询
col2 a b
---- ---- ----
cat 2 4
dog 3 5
仅填充a或b列。
我的查询有什么问题?
答案 0 :(得分:1)
您需要将case语句移动到count()(或sum())本身:
Select t1.col2,
count(case when t2.type = 'a' then 1 else null end) as a,
count(case when t2.type = 'b' then 1 else null end) as b
From mytable t1 join mytable2 t2 on t1.col1=t2.id where t1.col3 is not null
group by 1;