簡體   English   中英

Select 名稱中包含空格的表中的列

[英]Select columns from a table with a space in its name

我正在嘗試 select 兩個表LignesDétail Production的列。 Détail Production使用鍵NoLigne (兩個表中的名稱相同)鏈接到第一個。

我知道我必須在表格名稱周圍加上[ ]`` ,但我遇到錯誤No value given for one or more required parameters ,我認為這意味着 SQL 無法識別該名稱。 我嘗試將名稱中包含空格的表的名稱命名為別名,但我有同樣的錯誤。 這是我的代碼:

SELECT
    NoProduction,
    Quantite,
    DateMaxProd,
    Lignes.Référence
FROM
    [Détail Production] AS D
INNER JOIN
    Lignes ON D.NoLigne = Lignes.NoLigne
WHERE
    D.Soldee = 0 AND 
    D.EtatLigne = 0 AND
    Lignes.Soldee = 0 AND
    (QteRecue - Quantite - Acompter * NbHS)>0

不幸的是,我無法擺脫 FROM 和 WHERE 子句中表的別名或名稱,因為我的表共享具有相同名稱的列。 我無法重命名表或列,我實際上使用的是使用 HFSQL 作為 dbms 的軟件 Windev。 我正在嘗試使用 OLEDB 連接器連接到訪問數據庫,當我切換到 HFSQL 時它可以工作。

這是一個mre:

SELECT
  *
FROM
  [Détail Production]
  INNER JOIN
  Lignes ON [Détail Production].NoLigne = Lignes.NoLigne

當使用 HFSQL 數據庫時,它可以工作,當將 OLEDB 與 access 數據庫一起使用時,它會拋出錯誤No value given for one or more required parameter

謝謝你的幫助。

我發現了問題:

SELECT
    D.NoProduction,
    D.Quantite,
    D.DateMaxProd,
    Lignes.Référence
FROM
    [Détail Production] AS D
INNER JOIN
    Lignes ON D.NoLigne = Lignes.NoLigne
WHERE
    D.Soldee = 0 AND 
    D.EtatLigne = 0 AND
    Lignes.Soldee = 0 AND
    (D.QteRecue - D.Quantite - D.Acompter * D.NbHS) > 0

我錯過了 WHERE 子句最后一個條件的比較。 我認為這是因為別名或括號的原因,因為網上的其他人也有類似的問題,並且當我嘗試其他編寫 FROM 子句的方式時,錯誤發生了變化。 在 HFSQL 中使用空格編寫名稱的正確方法是使用括號 [ ]。 此外,名稱與數據庫中的重音不匹配存在問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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