[英]Select columns from a table with a space in its name
我正在嘗試 select 兩個表Lignes
和Dé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.