Kommt ganz darauf an, wie du dein Inventar programmiert hast...

Angenommen, alle Items sind in einer std::list, könntest du einfach in deiner Query durch die gesamte Liste iterieren und bei jeder Iteration den Iterator auf seine ID prüfen.

Beispiel:

bool doesPlayerHasItem(ITEM id)
{
     for(Item *i : *player->itemlist)
     {
          if(i->id == id) return true;
     }
     return false;
}