-3

我有两张桌子AB. 两者都包含字段phoneproject_name. 我想看看

  • 表 A 中有多少条记录在表 B 中具有相同的电话号码和项目名称;
  • 表A中有多少条记录在表B中具有相同的电话号码和不同的project_name;
  • 表 A 中有多少条记录在表 B 中有不同的电话和相同的项目名称;
  • 表 A 中有多少条记录在表 B 中有不同的电话和不同的项目名称。

我试图写这些查询。但结果很糟糕。你可以帮帮我吗?

例子

Table A:

phone       project_name
4161234567  502
4161234568  502
4161234569  501
4161234560  502


Table B:

phone       project_name
4161234567  502
4161234568  503
4160258963  501
4160123456  504

先感谢您

4

1 回答 1

2

问愚蠢的问题......得到愚蠢的答案。根据对问题的解释,这可能正确也可能不正确。

/*records from table A are in table B with same phone number and project_name; */
SELECT count(*), A.Phone, A.Project_name
FROM A 
INNER JOIN B 
  on A.Phone = B.Phone 
 and A.project_name = B.Project_name
GROUP BY A.Phone, A.Project_name

/*same phone number and different project_name*/
SELECT count(*), A.Phone, A.Project_name
FROM A 
INNER JOIN B 
  on A.Phone = B.Phone 
 and A.project_name <> B.Project_name
GROUP BY A.Phone, A.Project_name

/*different phone and same project_name*/
SELECT count(*), A.Phone, A.Project_name
FROM A 
INNER JOIN B 
  on A.Phone <> B.Phone 
 and A.project_name = B.Project_name
GROUP BY A.Phone, A.Project_name

/*different phone and different project_name*/
SELECT count(*), A.Phone, A.Project_name
FROM A 
INNER JOIN B 
  on A.Phone <> B.Phone 
 and A.project_name <> B.Project_name
GROUP BY A.Phone, A.Project_name
于 2012-11-19T21:16:04.947 回答