2013-05-05 29 views
-2

我想在一個數據庫文件上顯示來自2個表格的TDbgrid數據。我試圖寫SQL語句,如:如何使用zquery從Firebird數據庫中的2個表中選擇列?

select "Client", "Address", "Balance" from "table1" 
and "Payment" from "table2" 

但它始終會顯示此錯誤

SQL Error: Dynamic SQL Error DQL Error code = -104 Token Unknown - line 2, 
column1 and.Error -104.Invalid token The SQL: select "Client", "Address", "Balance" 
from "table1" 
and "Payment" from "table2" 

我不知道這是不可能或我剛剛得到錯誤的編寫代碼或者是它是我需要修改的TDbgrid。我搜索了一個zeos sql指南,但我找不到一個。我得到的只是這個:http://www.intitec.com/varios/A_ZEOS_basics_tutorial_not_only_for_firebird.pdf,但仍然有些問題沒有答案。

我使用Firebird數據庫2.5和Delphi 7

可我對這個用什麼SQL代碼?

+2

」顯示錯誤「並不意味着什麼,除非你告訴我們**錯誤是什麼**。我不確定您需要向您解釋多少次。 **當您在此提問時,請具體說明**。 (您的語法無效;您應該在Google中搜索基本SQL中的教程。) – 2013-05-05 04:45:49

+0

編輯我的問題。我已經閱讀了一些基本的SQL教程,但問題是我找不到一個用於ZEOS的教程。我不知道哪個sql命令會對它起作用。我只是想在一個TDdgrid中顯示2個表中的列。 – 2013-05-05 04:56:04

+0

基本SQL是基本的SQL。這是Zeos的事實並不重要。 Google'SQL教程'。 – 2013-05-05 04:59:01

回答

5

您的語法無效。

SELECT * FROM table1, table2 

然而,上述沒有意義或者,當您與連接兩個表中沒有辦法選擇從兩個獨立的表的每一列和行。

Table1 
ColumnA ColumnB 
======= ======= 
Nonsense Here 
Orange  Noise 

Table2 
ColumnC ColumnD 
======= ======= 
Horse  Radish 
No   Sense 

SELECT * FROM Table1, Table2 

結果:

ColumnA ColumnB ColumnC ColumnD 
======= ======= ======= ======= 
Nonsense Here  Horse  Radish 
Orange  Noise  No   Sense 

即使你的編輯,有查詢沒有任何意義。

SELECT Table1.ColumnA, Table1.ColumnB, Table2.ColumnC, Table2.ColumnD 
FROM Table1, Table2 

仍然產生相同的結果。

你真的應該尋找一般的數據庫編程和SQL教程。 Google可以提供幫助。

+0

立即工作。非常感謝您的大力幫助和指導。 – 2013-05-05 05:30:06

+0

就我個人而言,我更喜歡SQL-92'JOIN'這個語法(SQL-89變體)。 – 2013-05-05 16:12:17

+0

@Mark:我會這樣做,但是海報沒有提供關於基於連接的信息。這是一個持續的問題(留下必要的信息);看看他的一些其他問題。 – 2013-05-05 17:42:48

0

我剛剛在我的SQL語句中得到了一些無效的語法。這解決了我的問題

SELECT Table1.ColumnA, Table1.ColumnB, Table2.ColumnC, Table2.ColumnD 
FROM Table1, Table2 

非常感謝。 「

相關問題