多个记录匹配一列但过滤其他列

Tod*_*odd 0 php mysql sql database

我真的不确定如何问这个,但让我试一试.

我有一张桌子,我们称之为小部件.在每个小部件的这个表中,我将有几个包含各种数据的记录,但是这个小部件的每个记录都将具有相同的小部件标识符.

如果其中一个记录包含其他一些特定数据,我该如何才能选择此窗口小部件.

例:

---------------------------------
| widgetid | status             |
|--------------------------------
| 54345    | added to inventory |
|-------------------------------|
| 54345    | sold               |
|-------------------------------|
| 58879    | added to inventory |
---------------------------------
Run Code Online (Sandbox Code Playgroud)

因此,在上表中,我只想选择54345小部件,因为它是唯一具有匹配"已售出"状态的小部件.

这里的问题是我不会在查询时知道小部件ID,因为它是动态生成的.

我确信我错过了一些非常愚蠢的东西但是在弄乱了一段时间并且没有找到帮助搜索之后,我认为是时候把它扔出去看看你们认为的好人.

如果重要的话使用MySQL.

Bar*_*mar 5

SELECT w1.*
FROM Widgets w1
JOIN Widgets w2
ON w1.widgetid = w2.widgetid
WHERE w2.status = "sold"
Run Code Online (Sandbox Code Playgroud)