gpt4 book ai didi

mysql - 多表join MySQL多外键

转载 作者:行者123 更新时间:2023-11-28 23:39:51 25 4
gpt4 key购买 nike

我在 MySQL 中遇到困难。我有 4 张 table ,全部连接在一起。

**Order**: order_id, shop_id(fk), date, day, order_price, PK_order
**Scan** : scan_id(PK), item_id, order_id(FK), stack, stack_price, price, note
**Item** : item_id(PK), item_name
**Shop** : shop_id(PK), shop_name

我想构建一个输出如下内容的查询:

date|day|shop_name|item_name|stack|stack_price|price|note

我的查询是这样的:

Select
order.date, order.day, shop.shop_name, item.item_name, scan.stack, scan.stack_price,
scan.price, scan.note
From
order, scan, shop, item
Join
shop on order.shop_id = shop.shop_id
Join
item on scan.item_id = item.item_id

我收到错误 1054:“on 子句”中的未知列 ...,或其他“别名”错误。

但是,当我只从一张表中选择一列时,我就可以正常工作了。此查询有效:

 select item.item_name from scan inner join item on scan.item_id = item.item_id

我认为从多个表中选择有一些问题...任何人都可以帮助我吗?每一个答复表示赞赏。谢谢

最佳答案

您组合了逗号分隔的联接内部联接,其中您多次使用了同一个表,这是不需要的。

如果没记错的话,这就是你要找的

SELECT `order`.`DATE`, 
`order`.`day`,
shop.shop_name,
item.item_name,
scan.stack,
scan.stack_price,
scan.price,
scan.note
FROM `order`
join scan
ON `order`.order_id = scan.order_id
join shop
ON `order`.shop_id = shop.shop_id
join item
ON scan.item_id = item.item_id

关于mysql - 多表join MySQL多外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34713014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com