Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL内部连接2个表,并根据表1中的ID对表2进行计数_Mysql_Sql_Inner Join - Fatal编程技术网

MySQL内部连接2个表,并根据表1中的ID对表2进行计数

MySQL内部连接2个表,并根据表1中的ID对表2进行计数,mysql,sql,inner-join,Mysql,Sql,Inner Join,我有两张桌子,想把两张都合起来。然后,如果表A中的一个或多个数据在表B上具有相同的ID,我想从表B中获得计数合计结果 我已经这样尝试过了,但它只给了我两个结果,而不是我想要的: SELECT table_a.*, table_b.*, count(*) as total FROM table_a, table_b WHERE table_b.id_tblA = table_a.id_tblA GROUP BY table_b.id_tblB 当需要时,

我有两张桌子,想把两张都合起来。然后,如果表A中的一个或多个数据在表B上具有相同的ID,我想从表B中获得计数合计结果

我已经这样尝试过了,但它只给了我两个结果,而不是我想要的:

SELECT 
table_a.*,
table_b.*,
count(*) as total
FROM 
    table_a,
    table_b
WHERE
    table_b.id_tblA = table_a.id_tblA
GROUP BY
    table_b.id_tblB

当需要时,应使用左连接和大小写

  SELECT 
  table_a.id_tblA,
  table_a.Name,
  sum(case when table_b.id_tblB is null then 0 else 1 end) total
  FROM  table_a
  left  join table_b on table_b.id_tblA = table_a.id_tblA
  group by table_a.id_tblA, table_a.Name

当需要时,应使用左连接和大小写

  SELECT 
  table_a.id_tblA,
  table_a.Name,
  sum(case when table_b.id_tblB is null then 0 else 1 end) total
  FROM  table_a
  left  join table_b on table_b.id_tblA = table_a.id_tblA
  group by table_a.id_tblA, table_a.Name
试试这个

SELECT
    table_a.id_tblA, table_a.tblA_name, 
    (SELECT count(*) FROM table_b WHERE table_b.id_tblA = table_a.id_tblA)
FROM
    table_a;
试试这个

SELECT
    table_a.id_tblA, table_a.tblA_name, 
    (SELECT count(*) FROM table_b WHERE table_b.id_tblA = table_a.id_tblA)
FROM
    table_a;

你需要
分组依据
@PM77-1我已经尝试了分组依据,但仍然不适用于平均内部联接不会返回指定的结果。我们可以使用一个外部连接,一个GROUPBY和一个聚合(count或sum)。作为另一个选项,我们可以在选择列表中使用相关子查询。您需要
分组依据
@PM77-1我已经尝试了分组依据,但仍然不适用于平均内部联接不会返回指定的结果。我们可以使用一个外部连接,一个GROUPBY和一个聚合(count或sum)。作为另一个选项,我们可以在选择列表中使用相关子查询。缺少
table_b on
after
left join
尝试添加缺少的“table_b on”,但仍然无法用于me@JhonnyJr. : 还要更改选择列表中的第三个表达式
SUM(当table_b.id_tblB为NULL时,则为0,否则为1 END)作为总计
缺少
table_b on
左联接之后
尝试添加缺少的“table_b on”,但仍不适用于me@JhonnyJr. : 还要更改选择列表中的第三个表达式<代码>总计(当表_b.id _tblB为空时,则为0,否则为1结束)