访问中的 from 子句中的语法错误
Posted
技术标签:
【中文标题】访问中的 from 子句中的语法错误【英文标题】:syntax error in from clause in access 【发布时间】:2017-01-11 16:08:31 【问题描述】:我正在运行一个简单的查询。我想获取在两个表中都找到的记录,但是出现语法错误。 (FROM 子句中的语法错误)我在我的 sql server 2008 中运行此查询,它运行顺利,但如果我在我的访问数据库中执行此操作,我会收到此语法错误
从 Billing0923 中选择 DISTINCT * 相交 从 Billing916 中选择 DISTINCT *
【问题讨论】:
How can I implement SQL INTERSECT and MINUS operations in MS Access 【参考方案1】:再次有人坚持使用 Access ...但不要绝望,Hive 也有同样的问题,他们在 GitHub 中有一些用户定义的函数可以解决这个问题。
对于两个集合操作 MINUS/EXCEPT 或者,实际上,INTERSECT,你将不得不求助于一个表的 SELECT DISTINCT a.* 作为一个 INNER JOIN-ed 与另一个表 AS b,所有列的ON 子句中有两个表。丑,我知道……
CREATE TABLE work (
division INT
, fips_county_code VARCHAR(3)
, last VARCHAR(10)
, suffix VARCHAR(3)
, first VARCHAR(6)
, title VARCHAR(16)
, birthdate DATE
);
INSERT INTO work VALUES(1,'UK' ,'Dent' ,'','Arthur','Earthling' ,'1957-08-02');
INSERT INTO work VALUES(1,'UK' ,'Prefect' ,'','Ford' ,'HH Guide Scout' ,'1925-04-01');
INSERT INTO work VALUES(1,'N/A','Beeblebrox','','Zaphod','Galaxy President','1857-09-13');
INSERT INTO work VALUES(1,'UK' ,'McMillan' ,'','Tricia','Astrophysicist' ,'1959-09-29');
INSERT INTO work VALUES(1,'UK' ,'Dent' ,'','Arthur','Earthling' ,'1957-08-02');
INSERT INTO work VALUES(1,'UK' ,'McMillan' ,'','Tricia','Astrophysicist' ,'1959-09-29');
CREATE TABLE work_2 (
division INT
, fips_county_code VARCHAR(3)
, last VARCHAR(10)
, suffix VARCHAR(3)
, first VARCHAR(6)
, title VARCHAR(16)
, birthdate DATE
);
INSERT INTO work_2 VALUES(1,'UK' ,'Dent' ,'','Arthur','Earthling' ,'1957-08-02');
INSERT INTO work_2 VALUES(1,'UK' ,'Prefect' ,'','Ford' ,'HH Guide Scout' ,'1925-04-01');
INSERT INTO work_2 VALUES(1,'UK' ,'Prosser' ,'','Edwin' ,'Bulldozer Team Head','1957-08-02');
INSERT INTO work_2 VALUES(1,'N/A','Halfrunt' ,'','Gag' ,'Musician' ,'1925-04-01');
SELECT DISTINCT
work.*
FROM work AS work
INNER JOIN work_2 AS cmp
ON work.division = cmp.division
AND work.fips_county_code = cmp.fips_county_code
AND work.last = cmp.last
AND work.suffix = cmp.suffix
AND work.first = cmp.first
AND work.title = cmp.title
AND work.birthdate = cmp.birthdate
;
division|fips_county_code|last |suffix|first |title |birthdate
1|UK |Dent | |Arthur|Earthling |1957-08-02 00:00:00
1|UK |Prefect| |Ford |HH Guide Scout|1925-04-01 00:00:00
玩得开心
马可
【讨论】:
【参考方案2】:使用UNION
SELECT * FROM Billing0923
UNION
SELECT * FROM Billing916
假设您的两个表具有完全相同的字段。否则列出他们共同的字段而不是使用*
【讨论】:
以上是关于访问中的 from 子句中的语法错误的主要内容,如果未能解决你的问题,请参考以下文章