所有,我是SQL的新手,正在尝试将查询组合在一起。我有两个tables
,users
和orders
。我想从orders
返回某些字段,并将结果附加到users
的字段中。两个表中的公共字段是employeeID
。我的查询返回语法错误。我已经尝试了几种不同的方式,分别是内部联接,左右联接,完全联接(这里是在黑暗中射击。正如我说的,我对此很陌生)。
查询如下:
SELECT orders.clientid, orders.ordertrackingid, orders.clientrefno, orders.dconame, orders.dstreet, orders.dcity, orders.dzip, orders.dzone, orders.employeeid, users.username
where orders.status = 'n'
inner join orders on users.employeeid = orders.employeeid;
我从这里得到的错误是在这里:
SQL错误[156] [S0001]:关键字“内部”附近的语法不正确。 关键字“内部”附近的语法不正确。 关键字“内部”附近的语法不正确。
任何建议或帮助将不胜感激。
答案 0 :(得分:0)
查询结构通常是:
SELECT -> FROM - > [WHERE] -> [GROUP BY] -> [HAVING] -> [ORDER BY] -> . . .
[]
表示选项子句。
因此,我会将您的查询重写为:
select o.clientid, o.ordertrackingid, o.clientrefno, o.dconame, o.dstreet, o.dcity, o.dzip, o.dzone, o.employeeid, u.username
from users u inner join
orders o
on u.employeeid = o.employeeid
where o.status = 'n';
答案 1 :(得分:0)
我没有看到错误消息,但是您似乎错过了添加“ FROM用户”的过程。还应该在INNER JOIN之后。您可以在此处查看更正的脚本:
SELECT orders.clientid
, orders.ordertrackingid
, orders.clientrefno
, orders.dconame
, orders.dstreet
, orders.dcity
, orders.dzip
, orders.dzone
, orders.employeeid
, users.username
FROM users
inner join orders on users.employeeid = orders.employeeid
where orders.status = 'n' ;
答案 2 :(得分:0)
只是您错过了一个要联接的表,该表是具有from子句的用户
SELECT orders.clientid,
orders.ordertrackingid,
orders.clientrefno, orders.dconame,
orders.dstreet, orders.dcity,
orders.dzip, orders.dzone,
orders.employeeid, users.username
from users
inner join orders on
users.employeeid = orders.employeeid
where orders.status = 'n' ;