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

标签 mysql sql sql-server-2008

我有一个从数据库中获取单行的 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

关于mysql - 多个 SQL 选择使用值来进一步搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35299118/

相关文章:

mysql - 使用 auto_increment 约束向现有表添加新列

sql - 使用 CTE 从下线记录中获取总计数和总金额之和

sql - 从所有数据库中具有特定名称的所有表中选择

.net - 当表中的数据发生变化时,SqlCacheDependency 如何知道何时与任何监听器通信?

MySQL 数据库() 与数据库名称

mysql 分片案例研究链接或论文

php - 为 m :m relationship (pupil-evening_activity) consistently 插入行

php - 通过 PHP 将 json 对象的列拆分为更多列

php - 也许使用 JOIN 选择 65 年内的日期范围?

c# - 更新一个值