将内部联接子查询编码为查询

时间:2016-02-26 18:12:12

标签: sql database ms-access subquery inner-join

在以内部联接和子查询的示例作为字段查看示例之后,我显然没有得到某些方面,我希望得到帮助。我正在尝试编写一个查询,必须在MS Access 2007中运行以与Oracle数据库通信。我必须从几个不同的地方获取各种数据位的值。这些数据位之一是GROUP_CODE(例如,教师,教职员工,学生,明矾等)。获得这一点并非易事。我试图使用两个内部联接来获取特定值。借用者类别的值必须是外部查询中我的主行的值。这是这样的: Patron表Patron_Barcode表Patron_Group表 Patron_id条形码Patron_Group_iD 条形码Patron_Group_id PATRON_Group_Code

我想获得PATRON_GROUP.PATRON_GROUP_CODE。这只是我需要在查询中获得的35个字段中的一个。 (是的,那很可怕,但是戴着我的图书管理员的帽子,我不能写出我想写的Java程序,以便快速完成。) 所以作为测试,我写了这个查询:

 select PATRON.PATRON_ID As thePatron, 
 (SELECT PATRON_GROUP.PATRON_GROUP_CODE As borrowwerCategory
  FROM (PATRON_GROUP 
        INNER JOIN PATRON_BARCODE ON PATRON_GROUP.PATRON_GROUP_ID = PATRON_BARCODE.PATRON_GROUP_ID
       ) INNER JOIN PATRON ON PATRON_BARCODE.PATRON_ID = thePatron.PATRON_ID
 ));

我不知道我做错了什么,但这不起作用。我在我的时间里写了相当多的SQL,但从来没有像这样的东西。我究竟做错了什么?

PATRON.BARCODE是BARCODE表的外键。 PATRON_BARCODE.PATRON_GROUP_ID是PATRON_GROUP表的外键。 PATRON_GROUP中的PATRON_GROUP_CODE是我需要的列值。 PATRON.BARCODE - > BARCODE.PATRON_GROUP_ID - > PATRON_GROUP.PATRON_GROUP_CODR>

主表PATRON将有很多其他的东西,比如内部和外部连接到PATRON_ADDRESS等,我不能直接在我的主查询中直接进行内部连接。这必须在子查询中作为字段发生。感谢。

0 个答案:

没有答案