[英]MS Access IIF using IN condition
我試圖在表中添加一個字段,以指示該值是否存在於另一個表中。 這是我所擁有的
table1: table2:
id id
1 2
2 4
3 6
最終結果:
table3:
id inTable2
1 no
2 yes
3 no
這是我到目前為止所擁有的。
SELECT id, IIf(id In (SELECT id FROM table2 GROUP BY id), "yes", "no") AS inTable2 INTO table3
我收到錯誤消息“行源無法使用操作查詢”。 任何幫助,將不勝感激,謝謝!
你近了 group by
是不必要的:
IIf(id In (SELECT id FROM table2), "yes", "no")
但是,我不是100%肯定會解決您的問題。 這將在SELECT
查詢中起作用,但是您的錯誤提示了另一種查詢類型。
您可以嘗試在table2(id)
上放置索引。 但是,我可以這樣寫:
iif(exists (select 1 from table2 where table2.id = ?.id), "yes", "no")
這應該利用table2(id)
上的索引。
您可能可以通過使用LEFT JOIN
來優化此查詢:
SELECT t1.id, IIF(t2.id IS NULL, "yes", "no") INTO table3
FROM table1 t1
LEFT JOIN table2 t2 ON t1.ID = t2.ID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.