gpt4 book ai didi

php - 如何在 Laravel 中执行准备好的语句

转载 作者:行者123 更新时间:2023-11-29 15:27:50 25 4
gpt4 key购买 nike

我已经准备好了 SQL 准备好的语句,当我在 Workbench 中运行它时,它们会给出正确的结果。现在我想在 laravel 中执行它。

SQL 是:

SET SESSION group_concat_max_len = 1000000;

SET @SQL = NULL;
SELECT
GROUP_CONCAT( DISTINCT CONCAT( 'MAX(IF( sp.PartnerID= ''', cep.PartnerID, ''', "Yes", "No")) AS ', REPLACE ( PartnerName, ' ', '' ) ) ) INTO @SQL
FROM
stp_partner sp,
customer_eligible_partner cep,
personal_loans pl,
stp_partner_sub_product_mapping spm
WHERE
sp.PartnerID = cep.PartnerID
AND pl.PLAppId = cep.AppId
AND spm.PartnerID = sp.PartnerID
AND spm.SubProdCode = 1001;

SET @SQL = CONCAT( 'SELECT cep.AppId
, cep.ProdCode
, cep.CreatedDate, ', @SQL, '
FROM customer_eligible_partner cep, stp_partner AS sp WHERE cep.PartnerID = sp.PartnerID AND cep.ProdCode = "1001"
GROUP BY cep.AppId' );
PREPARE stmt
FROM
@SQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

最佳答案

您可以像下面这样执行查询

$sql =
<<<EOF
SET SESSION group_concat_max_len = 1000000;

SET @SQL = NULL;
SELECT
GROUP_CONCAT( DISTINCT CONCAT( 'MAX(IF( sp.PartnerID= ''', cep.PartnerID, ''', "Yes", "No")) AS ', REPLACE ( PartnerName, ' ', '' ) ) ) INTO @SQL
FROM
stp_partner sp,
customer_eligible_partner cep,
personal_loans pl,
stp_partner_sub_product_mapping spm
WHERE
sp.PartnerID = cep.PartnerID
AND pl.PLAppId = cep.AppId
AND spm.PartnerID = sp.PartnerID
AND spm.SubProdCode = 1001;

SET @SQL = CONCAT( 'SELECT cep.AppId
, cep.ProdCode
, cep.CreatedDate, ', @SQL, '
FROM customer_eligible_partner cep, stp_partner AS sp WHERE cep.PartnerID = sp.PartnerID AND cep.ProdCode = "1001"
GROUP BY cep.AppId' );
PREPARE stmt
FROM
@SQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
EOF;
\DB::select($sql);

关于php - 如何在 Laravel 中执行准备好的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58947055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com