Как выбрать столбцы из 2 таблиц в базе данных Firebird, используя zquery?
Я хотел бы отобразить на TDbgrid данные из 2 таблиц в одном файле базы данных. Я пытался написать SQL заявления, как:
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 ответа
Ваш синтаксис неверен.
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 в целом. Гугл может помочь.
Я только что получил неверный синтаксис в своем операторе SQL. И это решило мою проблему
SELECT Table1.ColumnA, Table1.ColumnB, Table2.ColumnC, Table2.ColumnD
FROM Table1, Table2
Большое спасибо.