我不知道这是否可能,但这就是我想做的。我有三张桌子帐户id | username | pass汽车id | plate | id_ac | kilometers // in the id_ac I add manual the id of the car's owner.旅行id | plate | places | date | active现在,我希望当用户登录时,可以看到与他的汽车一起处于活动状态的Trips。所以我想SELECT from Trips the plate, places, date WHERE active=0 AND id= ? (the logged user's id)但是餐桌旅行没有车主的ID。因此,我想以某种方式选择已登录用户拥有的汽车的“行程”表的值。任何想法我怎么能这样做?
2 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
您应该看一下表联接。这看起来像是您要查找的内容:
SELECT t.plate, t.places, t.date FROM Trips as t JOIN Cars as c ON t.plate = c.plate WHERE t.active = 0 AND c.id_ac = ?
看看这个。这是解释表联接的一种非常好的方法。http://www.sql-join.com/sql-join-types
我没有进入数据库架构和更深层次的东西,但它可以帮助你完成手头的任务
哆啦的时光机
TA贡献1779条经验 获得超6个赞
你所指的是主密钥和伪造密钥。
主键是唯一键,可以标识表中的每条记录。在您的用户表中,这是 ID。它必须是独一无二的。
当您现在在行程表中创建行程时,您必须将记录“链接”到特定用户。这里您指的是用户表中的主键。因此,您在 里面有一个新列,您将在其中存储连接到该行程的用户 ID。user_id
trips table
在其他表中使用用户 ID 时,您有一个“外键”。
对于每次行程,您必须为 和 创建一个外键。这可以是 和 .car
user
number plate
user id
如果要查看特定用户的所有曲目,可以在曲目中使用用户 ID 创建 。如果您想查看一辆车的所有轨道,您只需使用车牌即可。JOIN
JOIN
(我可以建议阅读一些关于主键/外键的信息。在像上面那样设计数据库结构时,这是至关重要的。
- 2 回答
- 0 关注
- 68 浏览
添加回答
举报
0/150
提交
取消