我是PostgreSQL的新手,试图想出一种方法来过滤/组合两个表,然后用一个用户列表过滤结果。
我有两张桌子:
表:mi_user
device_uuid display_name
1 Mike
2 John
3 Kate
4 Bob
表:mi_device
device_uuid Status
1 RETIRED
2 ACTIVE
3 VERIFED
4 ACTIVE
我希望能够获取这两个表并进行查询并提取所有ACTIVE活动用户的列表。任何帮助将不胜感激
答案 0 :(得分:0)
SELECT u.*
FROM mi_user u
JOIN mi_device d USING (device_uuid)
WHERE d.status = 'ACTIVE';
Read about basic queries in the manual.
自您请求mi_user
以来仅返回list of all users
列。
但是,你的桌面设计似乎并没有多大意义。通常,用户表中会有user_id
,用户可能有0-n或1-n设备,因此您可以将设备表中的user_id
作为外键。
设备的状态(就像你拥有的那样)确实表明用户是"活跃的"?不是设备?