Mysql 在这种情况下,如何查询两个表之间的数据?
有三个表,我主要想查询交易Mysql 在这种情况下,如何查询两个表之间的数据?,mysql,sql,Mysql,Sql,有三个表,我主要想查询交易 User ----- id Debit ----- id amount * user_id create_date Credit ------ id amount * user_id create_date 因此,我希望在日期之前获得特定用户订单的交易,如下所示 $150 1 2014-06-15 <== debit $200 1 2014-06-16 <===credit $150 1 2014-06-15使用UNION
User
-----
id
Debit
-----
id
amount
* user_id
create_date
Credit
------
id
amount
* user_id
create_date
因此,我希望在日期之前获得特定用户订单的交易,如下所示
$150 1 2014-06-15 <== debit
$200 1 2014-06-16 <===credit
$150 1 2014-06-15使用UNION ALL
不加入
,因为您希望贷方
和借方
行分开。如果要从表用户
中获取列,则需要额外连接到该表
使用UNION ALL
notJOIN
,因为您希望credit
和debit
行分开。如果要从表用户
中获取列,则需要额外连接到该表
使用UNION ALL
notJOIN
,因为您希望credit
和debit
行分开。如果要从表用户
中获取列,则需要额外连接到该表
使用UNION ALL
notJOIN
,因为您希望credit
和debit
行分开。如果要从表用户
中获取列,则需要额外连接到该表
谢谢是的,如果有一个用户名字段(在用户表中),并且我想包括在查询中,如何加入?明白了,谢谢帮助谢谢。是的,如果有一个用户名字段(在用户表中),并且我想包括在查询中,如何加入?明白了,谢谢帮助谢谢。是的,如果有一个用户名字段(在用户表中),并且我想包括在查询中,如何加入?明白了,谢谢帮助谢谢。是的,如果有一个用户名字段(在用户表中),并且我想在查询中包括,如何加入?明白了,谢谢帮助
SELECT d.amount, d.create_date, 'debit' transactionType,
u.user_name
FROM Debit d
INNER JOIN User u
ON d.id = u.user_id
WHERE u.user_id = 1
UNION ALL
SELECT c.amount, c.create_date, 'credit' transactionType,
u.user_name
FROM Credit c
INNER JOIN User u
ON c.id = u.user_id
WHERE u.user_id = 1
ORDER BY create_date