【发布时间】:2017-08-30 09:28:47
【问题描述】:
我有两张桌子:
+-----------------------+
| Tables_in_my_database |
+-----------------------+
| orders |
| orderTaken |
+-----------------------+
在订单中,有orderId、orderName等属性。
在 orderTaken 中,有 userId、orderId 和 orderStatus 等属性。
基本上,我的项目的机制是这样运行的:
具有唯一 userId 的用户将能够从网页接受订单,其中每个订单也有自己唯一的 orderId。取完后,orderTaken表会记录userId,orderId,初始设置orderStatus = 1。
现在,我想选择orderStatus = 1 所在的一位用户接受的订单,但我还需要显示订单表中的订单名称。我已经学习了内部联接并编写了一个查询:
SELECT * FROM orders
WHERE orders.orderId IN
(SELECT orderId FROM orderTaken
WHERE orderTaken.userId = '8' AND orderTaken.orderStatus = '1')
INNER JOIN orderTaken ON orders.orderId = orderTaken.orderId
然而,MySQL 一直抱怨语法错误。我想我不能以这种方式使用内部连接?有人可以纠正我吗?谢谢!
【问题讨论】:
-
请去掉php标签,这与php无关
-
哦,是的,抱歉,因为我使用 php 来执行查询,并且默认情况下它就在那里,所以我把它留在那里。我已将其删除。
标签: mysql select join inner-join