gpt4 book ai didi

sql - 将一个字段内连接到表中的多个列

转载 作者:行者123 更新时间:2023-12-04 15:59:35 24 4
gpt4 key购买 nike

我有一个保存买家个人数据的 SQL 表,例如 FirstName、LastName、OGCard;OGCard - 表示客户个人卡号的字段。

接下来我有一个名为 Cards 的表,其中包含有关购买的十件商品的数据,格式如下:OGCard、Item1ID、...、Item10ID、Item1Quantity、...、Item10Quantity

在表 Items 中我得到了这样的结构 ItemID, ItemName

我想从 CardNumber 获得所有购买

我认为我应该这样做

SELECT Buyers.FirstName, Items.Name, Cards.Item1Quantity
FROM Buyers
INNER JOIN Cards ON Buyers.OGCard=Cards.OGCard
INNER JOIN Items ON Cards.Item1ID=Items.ItemName
WHERE OGCard=13451

这样我可以看到第一个项目的名称和数量。但是我不能对列 Item2ID 执行相同的连接,依此类推。你能给我一些解决方案吗?

最佳答案

在不知道如何设置 Items 表的情况下,您可以这样做:

SELECT Buyers.FirstName
, Items.Name
, Cards.Item1Quantity
, C2.Item2Quantity
, C3.Item3Quantity
, C4.Item4Quantity
, C5.Item5Quantity
, C6.Item6Quantity
, C7.Item7Quantity
, C8.Item8Quantity
, C9.Item9Quantity
, C10.Item10Quantity
FROM Buyers
INNER JOIN Cards ON Buyers.OGCard=Cards.OGCard
INNER JOIN Items ON Cards.Item1ID=Items.ItemName
LEFT OUTER JOIN Items ON Cards.Item2D=Items.ItemName C2
LEFT OUTER JOIN Items ON Cards.Item3D=Items.ItemName C3
LEFT OUTER JOIN Items ON Cards.Item4D=Items.ItemName C4
LEFT OUTER JOIN Items ON Cards.Item5D=Items.ItemName C5
LEFT OUTER JOIN Items ON Cards.Item6D=Items.ItemName C6
LEFT OUTER JOIN Items ON Cards.Item7D=Items.ItemName C7
LEFT OUTER JOIN Items ON Cards.Item8D=Items.ItemName C8
LEFT OUTER JOIN Items ON Cards.Item9D=Items.ItemName C9
LEFT OUTER JOIN Items ON Cards.Item10D=Items.ItemName C10
WHERE OGCard=13451

如果没有表格布局,这只是一个猜测,我猜如果这可行,您需要查看架构的布局方式......

关于sql - 将一个字段内连接到表中的多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10565870/

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