查询用透视表lave_mysql_laravel查询生成器连接的两个表中的选择字段

sdnqo3pr  于 2023-02-07  发布在  Mysql
关注(0)|答案(1)|浏览(102)

我有两张table
1.采购表
| 身份证|国家|医学|数量|购买日期|
| - ------|- ------|- ------|- ------|- ------|
| 无|加拿大|阿司匹林|九|2022年1月26日14时16分59秒|
| 1个|加拿大|维生素D|十个|2021年7月19日14时16分59秒|
| 第二章|乌萨|钙|四个|2021年6月19日14时16分59秒|
| 三个|加拿大|维生素C|八个|2022年6月8日14时16分59秒|
| 四个|阿根廷|钙|十个|2021年5月12日14时16分59秒|
2.价格表
| 身份证|国家|年份|医学|价格|
| - ------|- ------|- ------|- ------|- ------|
| 无|美国|小行星2020|阿司匹林|十四|
| 1个|加拿大|小行星2020|阿司匹林|十八|
| 第二章|墨西哥|小行星2020|阿司匹林|十个|
| 三个|巴西|小行星2020|阿司匹林|十一|
| 四个|阿根廷|小行星2021|阿司匹林|十八|
1.价格_采购表(枢轴表)
| 价格标识|采购标识|
| - ------|- ------|
我想选择www.example.com,purchas. medicine,purchase. quantity from purchases table and prices. price from prices table.我的透视表是空的,我怎么做查询(mysql和与laravel查询生成器太),以捕捉所有这些字段,(过滤价格.价格与puchases表国家,药品和购买数据匹配)purchase.country, purchas.medicine, purchase.quantity from purchases table and prices.price from prices table. My pivot table is empty, how can I do the query (mysql and with laravel query builder too) to catch all this fields, (filtering prices.price that matches with puchases table country, medicine and purchase data)
非常感谢你抽出时间

gpnt7bae

gpnt7bae1#

为此,您的Laravel数据库查询如下所示:

DB::table('purchases')->join('prices', function ($join) {
            $join->on('purchases.country', '=', 'prices.country')->on(DB::raw('YEAR(purchases.purchase_date)'), '=', 'prices.year')->on('purchases.medicine', '=', 'prices.medicine');
})->select('purchases.country', 'purchases.medicine','purchases.quantity', 'prices.price')->get();

相关问题