Mysql 多个SQL选择使用值来进一步搜索

Mysql 多个SQL选择使用值来进一步搜索,mysql,sql,sql-server-2008,Mysql,Sql,Sql Server 2008,我有一个SQL查询,它从数据库中获取一行。我希望最终返回该行以及可以使用第一个查询行中的值搜索的其他数据。我仅有的原始数据是magazineId。我们将使用41659 select productid, dispenserid from magazine where magazineid = 41659 在一行中为我提供了两个重要的数据值:ProductID和dispenserId Select MagazineID, dispenserId, ProductID from Magazine

我有一个SQL查询,它从数据库中获取一行。我希望最终返回该行以及可以使用第一个查询行中的值搜索的其他数据。我仅有的原始数据是magazineId。我们将使用41659

select productid, dispenserid from magazine where magazineid = 41659
在一行中为我提供了两个重要的数据值:ProductID和dispenserId

Select MagazineID, dispenserId, ProductID  from Magazine where ProductID = *** ProductID *** and dispenserId = ***dispenserId***
我最终希望得到一个新行,该行是通过搜索生成的,这些搜索为我提供了在第一个查询中使用的数据


如何做到这一点?

您可以使用子查询:

SELECT MagazineID, DispenserID, ProductID
FROM Magazine
WHERE ProductID = (SELECT ProductID 
                   FROM Magazine
                   WHERE MagazineID= 41659)
  AND DispenserId = (SELECT DispenserID 
                     FROM Magazine
                     WHERE MagazineID= 41659)
虽然我不知道你为什么不能这么做:

SELECT MagazineID, DispenserID, ProductID
FROM Magazine
WHERE MagazineID = 41659

您可以使用子查询:

SELECT MagazineID, DispenserID, ProductID
FROM Magazine
WHERE ProductID = (SELECT ProductID 
                   FROM Magazine
                   WHERE MagazineID= 41659)
  AND DispenserId = (SELECT DispenserID 
                     FROM Magazine
                     WHERE MagazineID= 41659)
虽然我不知道你为什么不能这么做:

SELECT MagazineID, DispenserID, ProductID
FROM Magazine
WHERE MagazineID = 41659

请记住,具有给定ID的杂志肯定会通过
DispenserID
ProductID
匹配,因此您可以简单地执行以下操作:

SELECT
    M2.MagazineID,
    M2.DispenserID,
    M2.ProductID
FROM
    Magazine M1
INNER JOIN Magazine M2 ON
    M2.DispenserID = M1.DispenserID AND
    M2.ProductID = M1.ProductID
WHERE
    M1.MagazineID = 41659

请记住,具有给定ID的杂志肯定会通过
DispenserID
ProductID
匹配,因此您可以简单地执行以下操作:

SELECT
    M2.MagazineID,
    M2.DispenserID,
    M2.ProductID
FROM
    Magazine M1
INNER JOIN Magazine M2 ON
    M2.DispenserID = M1.DispenserID AND
    M2.ProductID = M1.ProductID
WHERE
    M1.MagazineID = 41659

但为什么,当连接看起来如此优雅时?@草莓连接也起作用。我只是想给出一些答案。我对这个问题和他真正想要选择的东西的措辞感到困惑。在这种情况下,说出来,然后投票结束。这可能会促使op改善他们的问题。我认为这实际上可能对他们有所帮助。如果不是的话,我希望他们会说为什么这不起作用,或者澄清他们的问题。至少这是一个起点。事实上,我认为这是OP想要的。但是为什么,当连接看起来如此优雅时?@草莓连接也起作用。我只是想给出一些答案。我对这个问题和他真正想要选择的东西的措辞感到困惑。在这种情况下,说出来,然后投票结束。这可能会促使op改善他们的问题。我认为这实际上可能对他们有所帮助。如果不是的话,我希望他们会说为什么这不起作用,或者澄清他们的问题。至少这是一个起点。事实上我认为这就是OP想要的。