在sql查询中添加Count列

TNA*_*TNA 0 c# sql sql-server-2008

我有两个名为Production and Chart的表,如下所示.

生产

Name Layer
CDV  TSK
CDV  USV
M1   OSK
Run Code Online (Sandbox Code Playgroud)

图表

Name
L1_CDV_TSK
L1_CDV_TSK
L1_M1_OSK
Run Code Online (Sandbox Code Playgroud)

我必须产生这样的输出:

Name Layer Count
CDV  TSK    2
CDV  USV    0
M1   OSK    1

// bse L1_CDV_TKK and L1_M1_OSK are in the Charttable.
Run Code Online (Sandbox Code Playgroud)

我怎么能写一个SQL查询来实现这个目标?

这是我的尝试,但它无法看到Prodution表格中的每一行

Select 
    p.Name, p.layer, Count(*) as test
from 
    Production p, Chart c 
where 
    c.chartname like '%'+ p.name+'_'+p.layer + '%'
group by 
    p.Name, p.layer 
Run Code Online (Sandbox Code Playgroud)

请指教.非常感谢!

Rap*_*aus 5

Select p.Name,p.layer,Count(c.chartname) as test
from Production p
left join Chart c on c.chartname like '%'+ p.name+'_'+p.layer + '%'
group by p.Name,p.layer 
Run Code Online (Sandbox Code Playgroud)

编辑:

认为你的"图表"列表中有拼写错误,或者我不理解你想要的结果......(TSK,TKK)