簡體   English   中英

使用IN條件的MS Access IIF

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM