Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
SQL:从每位艺术家那里购买作品的客户| | 2张桌子_Sql_Oracle_Oracle Sqldeveloper_Relational Division - Fatal编程技术网

SQL:从每位艺术家那里购买作品的客户| | 2张桌子

SQL:从每位艺术家那里购买作品的客户| | 2张桌子,sql,oracle,oracle-sqldeveloper,relational-division,Sql,Oracle,Oracle Sqldeveloper,Relational Division,所以我有两个表都包含ID 工作: 反式: CustomerID, workID 10 1 11 2 12 3 10 4 10 5 到目前为止,我只成功地将所有ID放在一起,但我需要的结果是显示从每个artistID购买工作ID的任何customerID: SELECT trans.customerID, trans.workID, work.artistID FROM trans

所以我有两个表都包含ID

工作:

反式:

CustomerID, workID
10          1 
11          2
12          3
10          4
10          5
到目前为止,我只成功地将所有ID放在一起,但我需要的结果是显示从每个artistID购买工作ID的任何customerID:

SELECT
     trans.customerID, trans.workID, work.artistID
FROM
    trans
      INNER JOIN work
      ON trans.workID=work.workID
WHERE
    trans.customerID IS NOT null
ORDER BY
    trans.customerID;
基本上我不知道下一步该怎么做,如果有人能给我指出正确的方向或解释一个非常好的解决方案


编辑:将简化数据添加到表中

这将帮助您:

SELECT t.customerId 
FROM 
  ( SELECT t.CustomerId, COUNT(DISTINCT artistId) as artists
    FROM trans t INNER JOIN work w ON w.workid = t.workid) t 
  INNER JOIN 
  ( SELECT COUNT(DISTINCT artistId) artists FROM work) a ON  t.artists = a.artists

嗯,我认为你应该决定你正在使用的数据库。这是为三个数据库标记的,但我打赌您只使用了一个。为3标记?不知道那是怎么发生的。是的,这是一个数据库。好的,是的,我看到了我做得不好的地方,Oracle-sqldeveloper。这个家庭作业问题要求您实现。你为什么不知道这个词?你怎么找到“每一位艺术家”的名单?有艺术家的主桌吗?或者你的意思是,把艺术品从工作台上分离出来就足够了?我打赌一定有一个艺术家大师表,可以容纳所有可用艺术家的列表,最好也包括这个表。
SELECT t.customerId 
FROM 
  ( SELECT t.CustomerId, COUNT(DISTINCT artistId) as artists
    FROM trans t INNER JOIN work w ON w.workid = t.workid) t 
  INNER JOIN 
  ( SELECT COUNT(DISTINCT artistId) artists FROM work) a ON  t.artists = a.artists