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
Ms access 2010 FROM子句中的两个SQL查询具有内部联接_Sql_Ms Access_Join_Inner Join - Fatal编程技术网

Ms access 2010 FROM子句中的两个SQL查询具有内部联接

Ms access 2010 FROM子句中的两个SQL查询具有内部联接,sql,ms-access,join,inner-join,Sql,Ms Access,Join,Inner Join,我有一个SQL请求,它应该将两个子查询的结果与内部联接合并,但是我得到了一个错误,我不知道为什么。你能帮我吗 SELECT dateT, PC.id_serie FROM ( SELECT id_serie, MIN(dateF) as dateF FROM fixings GROUP BY id_serie ) AS PC1 INNER JOIN ( SELECT target_calendar.dateT, series.id_serie FROM ta

我有一个SQL请求,它应该将两个子查询的结果与内部联接合并,但是我得到了一个错误,我不知道为什么。你能帮我吗

SELECT 
      dateT, PC.id_serie
FROM (
      SELECT id_serie, MIN(dateF) as dateF FROM fixings GROUP BY id_serie
) AS PC1
INNER JOIN
(
      SELECT target_calendar.dateT, series.id_serie FROM target_calendar, series  LEFT JOIN fixings ON (PC.DateT=fixings.dateF) AND (PC.id_serie = fixings.id_serie)
) AS PC
ON
      PC1.dateF = PC.dateT
AND 
      (((pc1.[dateF]) Is Null))
AND 
      DateT <= Date();

错误:别名DateF引起的循环引用至少有一个问题是您没有定义PC1.DateF。where子句中还有fixings.DateF,但在该范围内没有称为fixings的表别名。在第一个子查询中需要列别名:

SELECT 
      dateT, PC.id_serie
FROM (
      SELECT id_serie, MIN(dateF) as dateF FROM fixings GROUP BY id_serie
) AS PC1
INNER JOIN
(
      SELECT target_calendar.dateT, series.id_serie FROM target_calendar, series  LEFT JOIN fixings ON (PC.DateT=fixings.dateF) AND (PC.id_serie = fixings.id_serie)
) AS PC
ON
      PC1.dateF = PC.dateT
AND 
      (((pc1.[dateF]) Is Null))
AND 
      DateT <= Date();

您还在第二个子查询的from子句中混合了旧式联接和新式联接。这些都应该是新样式的联接。

事实上,答案是添加更多的联接,而不是像Gordon linoff建议的那样将别名设为dateF,因为它会导致循环引用

这里是最后一个SQL查询:

SELECT 
          dateT, PC.id_serie
    FROM (
          SELECT id_serie, MIN(dateF) FROM fixings GROUP BY id_serie
    ) AS PC1
    INNER JOIN
    (
        (
          SELECT target_calendar.dateT, series.id_serie FROM target_calendar, series
         ) AS PC LEFT JOIN fixings ON (PC.DateT=fixings.dateF) AND (PC.id_serie = fixings.id_serie) 
   )
 ON
  (
         PC1.dateF = PC.dateT
  )
    WHERE 
         fixings.dateF Is Null
    AND 
          DateT <= Date();

结果相同:联接操作中出现语法错误。然后,他从第一个子单元中的固定件中进行选择query@Yumino . . . 我在重读时了解到了这一点,因此注意到了问题。出现了另一个错误:不支持连接表达式。然后他选择PC1。[dateF]为空。即使使用相同的连接样式