繁体   English   中英

从一个表中选择一列,从另一个表中选择其他列

[英]select one column from one table and other columns from another table

我有表格:

1. Users : user_id, user_name    
2. Transaction : user_id, transaction_number, transaction_date

我想获取特定 transaction_date 的 user_id、transaction_number、transaction_date。 第一个表可能包含不同日期的重复 user_id,并且可能不包含特定日期的所有 user_id。 如果 user_id 在交易表中没有任何交易条目,则结果必须包含所有 user_id 并且其 transaction_number 和交易日期为 null。

例如:

user_id             transaction_number            transaction_date
    1                    10                           12/04/2013
    2                    0                            12/04/2013
    3                    0                            12/04/2013

它显示只有 3 个用户并且只有 user_id 1 在 12/04/2013 有交易。

如果 transaction_number 为空,您可以将它替换为 0,具体取决于您使用的数据库类型。

Select u.User_id, transactions.transaction_number, '12/04/2013' as transaction_date
from Users u
left join ( Select user_id, Sum(transaction_number)
             from Transaction
             where transaction_date = '12/04/2013'
             Group By user_id
            ) transactions
            on transactions.User_id = u.user_id

select * from Transaction right outer join Users on Transaction.user_id = Users.user_id and Transaction.transaction_date = 'Apr 12 2013 12:00AM'

列出所有有交易的用户(如果有)。使用左连接。

select users.user_id,users.user_name,transaction.transaction_number, transaction.date from users left join transaction on users.user_id = transaction.user_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM