2008年5月5日 星期一

關於Access在使用 join 時的問題

話說雖然 Access 和 MS-SQL 都是同一家出的產品,但在 MS-SQL 上可以執行的指令行,硬是在 Access 上就是出現錯誤?! 下面我例出二個我常用的 Join 方式,在 MS-SQL 執行正常;但在 Access 卻會出現錯誤的實例:


例一:
-- MS-SQL 上的指令
select * from a
join b on a.id = b.id

-- 在 Access 上請調整如下
select * from a
inner join b on a.id = b.id -- 要將 join 改為 inner join

例二:
-- MS-SQL 上的指令
select * from a
join b on a.id = b.id
join c on a.id = c.id

-- 在 Access 上,我們有了剛才的經驗,將指令調整了如下
select * from a
inner join b on a.id = b.id
inner join c on a.id = c.id



-- 非常遺憾 !! 在 Access 上執行上列的指令還是會出現 錯誤 "查詢運算式 '......' 中的語法錯誤(少了運算元)。"





-- 就在 失望中,打開了 Access 的查詢,用 "設計檢視" 的方式做了一下,居然是可以的,真是 莫名其妙
-- 打開 Access 的 "SQL 檢視" 後,才知道 原來要加 括號 >"<

select * from ( a
inner join b on a.id = b.id )
inner join
c on a.id = c.id

2 則留言:

Unknown 提到...

用到了,谢谢

匿名 提到...

謝謝