我有两个如下表:
1)关联帐户
mysql> select * from tblaffiliatesaccounts limit 12;
+----+-------------+-------+------------+
| id | affiliateid | relid | lastpaid |
+----+-------------+-------+------------+
| 1 | 2 | 444 | 2019-11-01 |
+----+-------------+-------+------------+
affiliateid
:会员ID,relid
:产品IDlastpaid
:最近支付的日期2)待定
mysql> select * from tblaffiliatespending limit 12;
+----+----------+--------+--------------+
| id | affaccid | amount | clearingdate |
+----+----------+--------+--------------+
| 1 | 1 | 0.03 | 2019-12-01 |
+----+----------+--------+--------------+
仿射:这是
tblaffiliatesaccounts
的ID值现在我知道了
affiliateid=2
,我想查询出所有tblaffiliatespending
行是否符合affacc的affiliateid=2
条件。Capsule怎么办?和MySQL CLI commnad?我想知道两种比较方式。
我只知道如何在一个表中查询。
胶囊是Laravel包装的简单包装。
最佳答案
我不确定您的确切挣扎是什么,但是我相信您需要类似的东西:
SELECT *
FROM tblaffiliatespending s
INNER JOIN tblaffiliatesaccounts a ON (a.id = s.affaccid AND a.affiliateid = 2);
至于使用
Capsule
,我相信这应该工作:Capsule\DB::table('tblaffiliatespending s')->select('*')->join('tblaffiliatesaccounts a', 'a.id', '=', 's.affaccid')->where("a.affiliateid", "2")->get();
免责声明:我从未使用过Capsule,而是指一个过时的文档。我不确定Capsule查询是否可以正常工作,但绝对可以。如果有问题,请给我评论。还请记住,由于条件在联接中,MySQL查询更好,并且在大多数情况下将更快地工作。我不知道如何在Capsule中执行此操作的正确方法,因此我选择了where子句。
如果您还有其他问题,请告诉我。