使用公共密钥从两个表的输出进行查询

时间:2015-11-30 00:16:19

标签: mysql join

我是SQL的新手,所以当我试图寻找现有的答案时,由于我在SQL中缺乏词汇,我找不到任何答案。所以,如果已经有关于此的问题,请链接到我,非常感谢。

这是我的问题 我有两张桌子 order tablecustomer table

我使用下面的查询找到了订单日期

select orderDate
from order_
where orderID in(
    select orderID
    from order_item
    where productID in(
        select productID
            from product
            where productName in('Overwatch', 'The Elder Scrolls V: Skyrim')));

我还找到了购买者的名字和姓氏

select firstName, lastName
from customer
where customerID in(
    select customerID
    from order_
    where orderID in(
        select orderID
            from order_item
            where productID in(
                select productID
                    from product
                    where productName in('Overwatch', 'The Elder Scrolls V: Skyrim'))))

当我有订单日期时,我想进行查询,显示姓氏,客户表中的名字对应于我找到的订单日期 两个表中的公共密钥是customerID密钥。

我需要输出像

firstname,lastname,orderDate

我尝试所有类型的加入和联合,但我可能做错了。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我不知道这是一个解决方案,因为我甚至没有尝试过。但你应该试一试。

select customer.firstName, customer.lastName, order_.orderDate
from order_, customer
where order.customerID = customer.customerID in(
select customerID
    from order_
    where orderID in(
        select orderID
            from order_item
            where productID in(
                select productID
                    from product
                    where productName in('Overwatch', 'The Elder Scrolls V: Skyrim'))))