可以将SQL查询的结果传递给下一个SQL查询

时间:2014-01-17 15:06:24

标签: android sql

我只是想知道是否可能

例如我有一个查询

 query = String.format("SELECT * FROM assetParamater LEFT OUTER JOIN SpecialOffer USING (assetID) WHERE assetParameter.assetID = %d;", id);

所有看起来都很好,但问题是id,实际上是特价商品ID而不是assetId。

所以我需要传递这个查询的结果

QUERY RESULT = "Select assetID from assetParameter where SpecialOffer.specialOfferID = %id;", id);

query = String.format("SELECT * FROM assetParamater LEFT OUTER JOIN SpecialOffer USING (assetID) WHERE assetParameter.assetID = %d;", QUERY RESULT);

有谁知道如何做到这一点的方法?我很欣赏它并不是最干净的方式,但我坚持将特殊优惠ID作为身份传递,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

在这种情况下只是定期加入有什么问题?

SELECT Column1, Column2
  FROM assetParameter 
  JOIN SpecialOffer 
    ON assetParameter.assetID = SpecialOffer.assetID
 WHERE SpecialOffer.specialOfferID = %id

请不要使用SELECT * - 最好指定所需的列。

如果您只想查询assetParameter表中的数据,也可以使用子查询...

SELECT Column1, Column2
  FROM assetParameter 
 WHERE assetID = (select assetID
                    from SpecialOffer 
                       WHERE SpecialOffer.specialOfferID = %id)