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 一个bib和多个持有量的访问查询_Sql_Ms Access - Fatal编程技术网

Sql 一个bib和多个持有量的访问查询

Sql 一个bib和多个持有量的访问查询,sql,ms-access,Sql,Ms Access,我正在使用下面的访问查询来查找在“stacks”和“lebh shomea library”中有保存位置的bib记录。但是,Access中的“and”操作符未显示任何记录,“or”操作符显示所有具有“stacks”位置的内容以及所有具有“lebh shomea library”位置的内容。我需要(只)持有两个地点的记录 SELECT BIB_TEXT.BIB_ID, BIB_TEXT.AUTHOR, BIB_TEXT.TITLE_BRIEF, BIB_T

我正在使用下面的访问查询来查找在“stacks”和“lebh shomea library”中有保存位置的bib记录。但是,Access中的“and”操作符未显示任何记录,“or”操作符显示所有具有“stacks”位置的内容以及所有具有“lebh shomea library”位置的内容。我需要(只)持有两个地点的记录

SELECT BIB_TEXT.BIB_ID,
       BIB_TEXT.AUTHOR,
       BIB_TEXT.TITLE_BRIEF,
       BIB_TEXT.PUBLISHER_DATE,
       BIB_VW.MFHD_LOCATION
FROM ((((BIB_TEXT
         INNER JOIN BIB_VW ON BIB_TEXT.BIB_ID = BIB_VW.BIB_ID)
        INNER JOIN MFHD_MASTER ON BIB_VW.MFHD_ID = MFHD_MASTER.MFHD_ID)
       INNER JOIN MFHD_HISTORY ON MFHD_MASTER.MFHD_ID = MFHD_HISTORY.MFHD_ID)
      INNER JOIN MFHD_ITEM ON MFHD_MASTER.MFHD_ID = MFHD_ITEM.MFHD_ID)
INNER JOIN BIB_MFHD ON BIB_TEXT.BIB_ID = BIB_MFHD.BIB_ID
WHERE (((BIB_VW.MFHD_LOCATION)="STACKS"
        OR (BIB_VW.MFHD_LOCATION)="LEBH SHOMEA LIBRARY"));

我假设
BIB_TEXT
BIB_VW
中的记录之间存在一对多的关系。如果是这种情况,您需要查询
BIB_VW

SELECT BIB_ID 
FROM BIB_VW 
WHERE MFHD_LOCATION="STACKS" OR MFHD_LOCATION="LEBH SHOMEA LIBRARY" 
GROUP BY BIB_ID 
HAVING COUNT(MFHD_LOCATION) = 2
。。。并将原始查询中的
BIB_VW
替换为对此子查询的引用,删除原始查询的
WHERE
子句