如何从子查询INSIDE sql语句mysql中获取多列
事实上,我为我的问题找到了很多解决方案,但我不知道如何应用于我的问题 我的问题是我有以下SQL语句:如何从子查询INSIDE sql语句mysql中获取多列,mysql,sql,Mysql,Sql,事实上,我为我的问题找到了很多解决方案,但我不知道如何应用于我的问题 我的问题是我有以下SQL语句: SELECT `tblacc`.`AccID` AS xAccID, `tblacc`.`AccName` AS xAccName, `tblprod`.`ProductID` AS xProdID,
SELECT
`tblacc`.`AccID` AS xAccID,
`tblacc`.`AccName` AS xAccName,
`tblprod`.`ProductID` AS xProdID,
`tblprod`.`ProductName` AS xProdName,
(
SELECT
tblproductsprices.PriceID
FROM
tblproductsprices
WHERE
tblproductsprices.PriceProductID = `tblprod`.`ProductID` AND `tblproductsprices`.`PriceResoID` = `tblacc`.`AccID`
) AS xPriceID,
(
SELECT
tblproductsprices.PriceValue
FROM
tblproductsprices
WHERE
tblproductsprices.PriceProductID = `tblprod`.`ProductID` AND `tblproductsprices`.`PriceResoID` = `tblacc`.`AccID`
) AS xPriceValue,
(
SELECT
tblproductsprices.PricePallet
FROM
tblproductsprices
WHERE
tblproductsprices.PriceProductID = `tblprod`.`ProductID` AND tblproductsprices.PriceResoID = `tblacc`.`AccID`
) AS xPalletPrice
FROM
tblaccounts tblacc,
tblproducts tblprod
WHERE
tblacc.`AccCat` = 'agent'
ORDER BY
tblacc.AccName,
tblprod.ProductName
我需要的是将以下部件替换为一个部件:
(
SELECT
tblproductsprices.PriceID
FROM
tblproductsprices
WHERE
tblproductsprices.PriceProductID = `tblprod`.`ProductID` AND `tblproductsprices`.`PriceResoID` = `tblacc`.`AccID`
) AS xPriceID,
(
SELECT
tblproductsprices.PriceValue
FROM
tblproductsprices
WHERE
tblproductsprices.PriceProductID = `tblprod`.`ProductID` AND `tblproductsprices`.`PriceResoID` = `tblacc`.`AccID`
) AS xPriceValue,
(
SELECT
tblproductsprices.PricePallet
FROM
tblproductsprices
WHERE
tblproductsprices.PriceProductID = `tblprod`.`ProductID` AND tblproductsprices.PriceResoID = `tblacc`.`AccID`
) AS xPalletPrice
要在一个子查询中以相同的条件获取所有列?我不知道您的数据模式。您是否尝试使用表tblproductsprices进行交叉连接(第一次)和左连接
SELECT
`tblacc`.`AccID` AS xAccID,
`tblacc`.`AccName` AS xAccName,
`tblprod`.`ProductID` AS xProdID,
`tblprod`.`ProductName` AS xProdName,
tblproductsprices.PriceID AS xPriceID,
tblproductsprices.PriceValue AS xPriceValue,
tblproductsprices.PricePallet AS xPalletPrice
FROM tblaccounts tblacc
CROSS JOIN tblproducts tblprod
LEFT JOIN tblproductsprices ON tblproductsprices.PriceProductID = `tblprod`.`ProductID` AND `tblproductsprices`.`PriceResoID` = `tblacc`.`AccID`
WHERE tblacc.`AccCat` = 'agent'
ORDER BY tblacc.AccName, tblprod.ProductName;
Hi join可用于子查询中使用的表示例查询可如下所示- 挑选
tblacc
AccID
作为xAccID,
tblacc
AccName
作为xAccName,
tblprod
ProductID
作为xProdID,
tblprod
ProductName
作为xProdName,
tblprodprices.PriceID为xPriceID,
tblprodprices.PriceValue作为xPriceValue,
tblprodprices.PRICE托盘作为xPalletPrice
从…起
tblacc计数tblacc,
TBL产品tblprod,
TBL产品TBL产品价格
哪里
tblacc.AccCat
=“代理”
和tblprodprices.PriceProductID=tblprod
ProductID
和tblprodprices.PriceResoID=tblacc
AccID
订购人
tblacc.AccName,
tblprod.ProductName请提供示例数据、所需结果以及您想要做的事情的清晰解释。非常感谢您,我想要的是欢迎您@Hamada,我很高兴我帮助了您。