数据库结构
users
------
user_id
contact_person
company
timestamp
trading
--------
user_id
timestamp
buying_selling
我正在尝试找到查询db
的最有效方法我希望建立一个事件的时间表,从我的注册和交易板中提取数据。
两者都有我需要按顺序排列的时间戳并添加用户信息(谁发布/加入)
用户信息表还有一个加入时间的时间戳。
我正在努力解决这个问题,这是我认为我需要的(语法不对,因为我不知道怎么做)
SELECT user_id, timestamp, 'signup' as type FROM users
UNION
SELECT user_id, timestamp, 'trade' as type FROM trading
lEFT JOIN
company, contact_person FROM users
ON user_id
这是我尝试的(不太正确)
SELECT
*
FROM
users
LEFT JOIN
(
SELECT user_id, timestamp, 'signup' as type FROM users
UNION
SELECT user_id, timestamp, 'trade' as type FROM trading
) foo ON users.user_id = foo.user_id
我通过查看其他帖子将其混合在一起,但它不完全正确,因为它提取了所有用户信息,最终得到了两个我无法订购的时间戳。
答案 0 :(得分:2)
以这种方式试试
SELECT user_id, contact_person, company, timestamp, 'signup' type
FROM users
UNION ALL
SELECT t.user_id, u.contact_person, u.company, t.timestamp, 'trade'
FROM trading t JOIN users u
ON t.user_id = u.user_id
ORDER BY timestamp
这是 SQLFiddle 演示