2014-10-05 69 views
0

我將不勝感激不管我是SQL新手還是使用Microsoft Access。我自己寫這個,所以如果出現什麼問題,請告訴我!語法錯誤 - SQL微軟訪問

此外,如果你可以回答這個問題,我必須編寫並運行一個SQL查詢來列出某個課程的所有事件。我該如何開始這樣做?我在書中找不到任何東西。

CREATE TABLE CUSTOMER (
    CustomerNumber Int PRIMARY KEY, 
    CustomerLastName Char (25) NOT NULL, 
    CustomerFirstName Char (25) NOT NULL, 
    Phone    Char (12) NULL 
); 

CREATE TABLE COURSE (
    CourseNumber Int PRIMARY KEY, 
    Course  Char (15) NOT NULL, 
    CourseDate DateTime NOT NULL, 
    Fee   Currency NOT NULL 
); 

CREATE TABLE ENROLLMENT (
    CustomerNumber Int PRIMARY KEY, 
    CourseNumber Int NOT NULL,   
    AmountPaid  Currency NOT NULL 
); 
+2

你丟失的主key'後'一個逗號。要回答你的其他問題,請使用'where'... – sgeddes 2014-10-05 20:42:56

+2

'「我在書中找不到任何東西」 - 我不確定你用什麼書來學習SQL和/或Access,但是如果它不包括*查詢數據*(選擇數據),那麼它聽起來不像正確的書。 – David 2014-10-05 20:44:24

+0

它不包含有關語法錯誤的任何內容,我已經請教過我的教授但沒用。我添加了主鍵後,它移動到第二個表,並說仍然語法錯誤。 – guinea2 2014-10-05 21:19:19

回答

0

我測試你的查詢在MS艾策斯2007和MS Access 2010和工作正常,

你應該在同一時間運行的每個查詢,而不是一次全部,當我嘗試執行完整的SQL我得到相同錯誤信息。

SQL1:

CREATE TABLE CUSTOMER (
    CustomerNumber Int PRIMARY KEY, 
    CustomerLastName Char (25) NOT NULL, 
    CustomerFirstName Char (25) NOT NULL, 
    Phone    Char (12) NULL 
); 

SQL2:

CREATE TABLE COURSE (
    CourseNumber Int PRIMARY KEY, 
    Course  Char (15) NOT NULL, 
    CourseDate DateTime NOT NULL, 
    Fee   Currency NOT NULL 
); 

SQL3:

CREATE TABLE ENROLLMENT (
    CustomerNumber Int PRIMARY KEY, 
    CourseNumber Int NOT NULL,   
    AmountPaid  Currency NOT NULL 
); 
+0

謝謝,我確實單獨運行並找出了這些問題。謝謝 – guinea2 2014-10-06 04:13:31

0

一些意見,可以幫助您,首先檢查在MS-Access中的有效數據類型在當前的版本,例如:MSDN-MS-Access DataTypes。你會看到Char和Int無效,Numeric也沒有參數(你可能想用Dobule)。另外,您在第一個CREATE TABLE CUSTOMER語句中的PRIMARY KEY之後缺少一個逗號(,)。使用GUI界面創建表格然後再轉移到DDL可能是一種很好的做法。

+0

謝謝我想要貨幣,實際上你的鏈接幫助。但是,我仍然在我的第二個創建表中收到語法錯誤? – guinea2 2014-10-05 21:35:39

+0

3件事,寫(15)不要(15)並告訴我們確切的錯誤信息。 Alos分別運行每個創建語句而不是作爲一個組。這樣更容易發現錯誤。我假設你修正了'int'。 – NoChance 2014-10-05 21:43:44

+0

另外,使用相同的名稱命名列和表可能不是一個好主意。 Table Course有一個名爲Course的列 - 即使語法允許,這可能會造成混淆。 – NoChance 2014-10-05 22:02:25