为了账号安全,请及时绑定邮箱和手机立即绑定

多个表选择

多个表选择

PHP
慕婉清6462132 2022-09-03 16:26:59
我不知道这是否可能,但这就是我想做的。我有三张桌子帐户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

我没有进入数据库架构和更深层次的东西,但它可以帮助你完成手头的任务


查看完整回答
反对 回复 2022-09-03
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

你所指的是主密钥和伪造密钥。

主键是唯一键,可以标识表中的每条记录。在您的用户表中,这是 ID。它必须是独一无二的。

当您现在在行程表中创建行程时,您必须将记录“链接”到特定用户。这里您指的是用户表中的主键。因此,您在 里面有一个新列,您将在其中存储连接到该行程的用户 ID。user_idtrips table

在其他表中使用用户 ID 时,您有一个“外键”。

对于每次行程,您必须为 和 创建一个外键。这可以是 和 .carusernumber plateuser id

如果要查看特定用户的所有曲目,可以在曲目中使用用户 ID 创建 。如果您想查看一辆车的所有轨道,您只需使用车牌即可。JOINJOIN

(我可以建议阅读一些关于主键/外键的信息。在像上面那样设计数据库结构时,这是至关重要的。


查看完整回答
反对 回复 2022-09-03
  • 2 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信