ms访问表关系 - where子句

时间:2018-03-05 16:56:59

标签: ms-access join database-design table-relationships

我有两张桌子,我试图建立一种关系。

Table_A:
ID_A
Flag (Y/N)

Table_B:
ID_A
ID_B

ID_A上的两个表格链接,其中Table_A.Flag='Y'

有没有办法以这种方式定义关系?

澄清: 我使用的事实是它可以在SQL中完成,作为我的问题的基础 - 我将如何将其转换为ms-access表关系?

2 个答案:

答案 0 :(得分:0)

虽然在MS Access中构建查询当然可以做到这一点,但据我所知,不可能将表关系定义为比INNER或({{1}更高级的表关系。 {}}} RIGHT/LEFT加入,有或没有参照完整性。

答案 1 :(得分:0)

Access(JET)SQL不允许您在其他变体(如T-SQL)中加入条件。所以你不能做到以下几点:

    ON a.ID = b.ID
   AND Flag = 'y'

我可能在Access-SQL中解决此问题的方法是通过编辑SQL来创建子查询:

SELECT *
  FROM (SELECT * FROM Table_A WHERE Flag = 'y') a
 INNER JOIN Table_B b
    ON a.ID = b.ID

或者通过实现" SELECT * FROM Table_A WHERE Flag =' y'"作为Access查询并加入它。