我有一个表/SQL问题,我不知道如何解决。
我需要使用订单ID更新/创建一个用户ID表。
因此,我必须通过在旧列表中搜索电子邮件来获得一个新的用户ID。
所以逻辑是这样的:订单标识-〉查看旧用户标识-〉查看电子邮件-〉查看新用户标识
我试着创造一个例子:
---------------------
TABLE: USERS_OLD (a list of user ids and an email adress)
id email
1 test1@email.com
2 test2@email.com
3 test3@email.com
4 test4@email.com
---------------------
---------------------
TABLE: USER_ORDERS_OLD (the connection of an order id with a user id)
user_id order_id
1 DLEFGM
2 OPDFGT
3 UZDFGP
4 POIDSX
---------------------
---------------------
TABLE: USERS_NEW (a new list of users id with the same emails from table USERS_OLD)
id email
5 test1@email.com
9 test2@email.com
10 test3@email.com
17 test4@email.com
---------------------
What I want to create:
---------------------
TABLE: USER_ORDERS_NEW
user_id order_id
5 DLEFGM
9 OPDFGT
10 UZDFGP
17 POIDSX
---------------------
我不知道该怎么做,我甚至不知道该搜索什么。
我设法做的是一个LEFT JOIN sql语句来比较用户ID并创建一个匹配user_id的列表。但是我不知道如何查找更多的表...
希望有人能帮助我。如果更容易的话,我也可以试着用电子表格来做。
提前感谢!
2条答案
按热度按时间zzoitvuj1#
假设您只想返回查询然后使用;
但是,如果要将结果写入新表,则需要先创建该表。
请参阅Demo
2admgd592#
在您的示例中,您应该能够使用以下查询完成此操作
如果您打算迁移id而不管它们是否有订单,那么您可能希望在旧订单表上选择LEFT JOIN,尽管我认为这并不是要用没有下订单的新用户id填充新订单表。