如果行不符合要求,如何分配值0

时间:2019-04-18 16:25:02

标签: sql db2

我试图返回一个演员名称字段(A_Name)和电影角色字段(MR_Role),以及每个演员在其角色中具有“未归类”的次数。如果该特定演员的角色中没有“未归类”,我也想返回0。您会在我的表格格式中看到另一个表格,但是我不需要使用它来运行此查询,因为它只有电影ID和发行年份。

我已使用此代码返回每个演员的未计角色的数量,但没有0:

SELECT A_NAME, COUNT(MR_ROLE) 
FROM ACTOR JOIN MOVIEROLE ON ACTOR.A_ID = MOVIEROLE.A_ID 
WHERE MOVIEROLE.MR_ROLE LIKE '%UNCREDITED%'
GROUP BY A_NAME;

Here are the results from the above query

这些是我正在使用的表格的格式:

ACTOR TABLE:

 (A_ID INTEGER NOT NULL,      
  A_NAME CHAR(25) NOT NULL,
  A_YOB INTEGER NOT NULL,)

MOVIEROLE TABLE:

(MR_ID INTEGER NOT NULL,      
  A_ID INTEGER NOT NULL,
  M_ID INTEGER NOT NULL,
  MR_ROLE CHAR(45),  
  PRIMARY KEY (MR_ID),
  FOREIGN KEY(A_ID) REFERENCES ACTOR,
  FOREIGN KEY(M_ID) REFERENCES MOVIE)

2 个答案:

答案 0 :(得分:0)

您可以将其移至where函数内的case表达式中,而不必使用count子句中的内容,并利用count跳过{ {1}} s:

null

答案 1 :(得分:0)

您需要一个error: bundling failed: SyntaxError: D:\Project\ovik\src\state\loading\index.ts: Namespaces are not supported. 48 | /** Types */ 49 | > 50 | export namespace Loading { | ^ 51 | export interface State { 52 | } 53 | at File.buildCodeFrameError (D:\Project\ovik\node_modules\@babel\core\lib\transformation\file\file.js:261:12) at NodePath.buildCodeFrameError (D:\Project\ovik\node_modules\@babel\traverse\lib\path\index.js:157:21) at PluginPass.TSModuleDeclaration (D:\Project\ovik\node_modules\@babel\plugin-transform-typescript\lib\index.js:244:22) at newFn (D:\Project\ovik\node_modules\@babel\traverse\lib\visitors.js:193:21) at NodePath._call (D:\Project\ovik\node_modules\@babel\traverse\lib\path\context.js:53:20) at NodePath.call (D:\Project\ovik\node_modules\@babel\traverse\lib\path\context.js:40:17) at NodePath.visit (D:\Project\ovik\node_modules\@babel\traverse\lib\path\context.js:88:12) at TraversalContext.visitQueue (D:\Project\ovik\node_modules\@babel\traverse\lib\context.js:118:16) 才能返回LEFT JOIN

0