我是新手。希望你们能解决我的问题。
我有几张表根据年份存储记录。所有表都有相同的字段集。我想知道是否可以搜索特定的客户ID,并在我的数据库中的表格中生成他所购买的所有记录。在一年中,他可能有几个记录,而另一年他可能没有。如果我使用连接函数,它似乎无法产生我想要的结果。
的示例:
表1 - 2001年 字段如下: 客户ID |购买日期|购买时间|购买物品|
表2 - 2002年 客户ID |购买日期|购买时间|购买物品|
表3 - 2003年 客户ID |购买日期|购买时间|购买物品|
表4 - 2004年 客户ID |购买日期|购买时间|购买物品|
我希望结果如下(这意味着所有在同一列下编译相同类型而不是为特定年份创建新列):
客户ID |购买日期2001 |购买时间2001 |购买项目2001 |
客户ID |购买日期2002 |购买时间2002 |物品购买2002 |
客户ID |购买日期2003 |购买时间2003 |购买物品2003 |
客户ID |购买日期2004 |购买时间2004 |购买物品2004 |
答案 0 :(得分:0)
您最好创建一个新表,在列标题中省略年份:
Customer ID | Purchased Date| Purchased Time | Item Purchased
您可以通过查询合并数据。
答案 1 :(得分:0)
我不认为你想加入这些桌子。我相信你想要的是一个" all all"查询。
鉴于此数据集......
Table 2001
CustId | Item
101 Widget A
101 Gizmo B
201 Widget A
201 Wedge C
Table 2002
CustId | Item
101 Widget A
201 Widget A
201 Wedge C
201 Wedge C
Table 2003
CustId | Item
101 Widget A
101 Gizmo B
101 Gizmo B
201 Gizmo B
查询看起来像这样......
SELECT item
FROM 'Table 2001'
WHERE CustId = 101
UNION ALL
SELECT item
FROM 'Table 2002'
WHERE CustId = 101
UNION ALL
SELECT item
FROM 'Table 2003'
WHERE CustId = 101
请确保为每个单独的查询以相同的顺序指定相同的列,以便在查询结果中正确匹配数据。