Han*_*ang 1 mysql select join inner-join
我有两张桌子:
+-----------------------+
| Tables_in_my_database |
+-----------------------+
| orders |
| orderTaken |
+-----------------------+
Run Code Online (Sandbox Code Playgroud)
在订单,有喜欢的属性orderId,orderName.
在orderTaken,有喜欢的属性userId,orderId和orderStatus.
基本上,我的项目的机制运行如下:
具有唯一userId的用户将能够从网页下订单,其中每个订单也有自己的唯一orderId.采取后,该orderTaken表将记录userId,orderId并初步设置orderStatus = 1.
现在,我想选择一个用户所采取的订单orderStatus = 1,而且我还需要显示我的订单表中的orderName.我已经学会了内连接并编写了一个查询:
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
Run Code Online (Sandbox Code Playgroud)
但是,MySQL一直在抱怨语法错误.我想我不能用这种方式加入内连接?任何人都可以纠正我吗?谢谢!
SELECT * FROM orders
INNER JOIN orderTaken ON orders.orderId = orderTaken.orderId
WHERE orderTaken.userId = '8' AND orderTaken.orderStatus = '1'
Run Code Online (Sandbox Code Playgroud)
你复杂了.这会奏效.
userId因为我认为这是正确的,所以我保留了引号,但如果它们是数据类型,INT那么你应该删除它们.
如果您想要阅读JOINs,请查看这些链接
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |