SQL 子查询同步和参数

SQL subquery sync and param

我有以下查询但它不起作用:

SELECT 
    d1.*, iif(d1.PK = MIN(d2.PK), "Si", "No") 
FROM 
    demo AS d1 
LEFT JOIN 
    (SELECT d3.PK, d3.place, d3.date 
        FROM 
            demo AS d3 
        WHERE 
            d3.place=d1.place AND d3.date=d1.date AND d1.type="type1") AS d2 
ON 
    d2.place=d1.place AND d2.date=d1.date

重点是"Si"在demotable中的第一行用具体的类型标记,在同一个place/date中,其他具有相同值的行应该用"Si"标记"No"。似乎子查询无法识别 de "d1" 名称以正确同步,如果我证明将 "d1" valors 更改为常量,则关于 PK 和聚合函数的错误我不明白.

对不起,如果这很明显,但 SQL 不是我的强项。感谢您的帮助:)

改为使用相关子查询:

select d.*,
       iif(d.pk = (select min(d2.pk)
                   from demo as d2
                   where d2.place = d1.place and d2.date = d1.date and d2.type = "type1"),
          "Si", "No")
from demo as d;