多个表选择

我不知道这是否可能,但这就是我想做的。我有三张桌子

帐户

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。因此,我想以某种方式选择已登录用户拥有的汽车的“行程”表的值。

任何想法我怎么能这样做?


慕婉清6462132
浏览 73回答 2
2回答

慕盖茨4494581

您应该看一下表联接。这看起来像是您要查找的内容: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我没有进入数据库架构和更深层次的东西,但它可以帮助你完成手头的任务

哆啦的时光机

你所指的是主密钥和伪造密钥。主键是唯一键,可以标识表中的每条记录。在您的用户表中,这是 ID。它必须是独一无二的。当您现在在行程表中创建行程时,您必须将记录“链接”到特定用户。这里您指的是用户表中的主键。因此,您在 里面有一个新列,您将在其中存储连接到该行程的用户 ID。user_idtrips table在其他表中使用用户 ID 时,您有一个“外键”。对于每次行程,您必须为 和 创建一个外键。这可以是 和 .carusernumber plateuser id如果要查看特定用户的所有曲目,可以在曲目中使用用户 ID 创建 。如果您想查看一辆车的所有轨道,您只需使用车牌即可。JOINJOIN(我可以建议阅读一些关于主键/外键的信息。在像上面那样设计数据库结构时,这是至关重要的。
打开App,查看更多内容
随时随地看视频慕课网APP