我正在为卡片组中的卡片构建过滤器,并尝试返回DeckCard表中具有两个值的行的卡片组。看来子查询是执行此操作的方法,但是我遇到了一个问题,即我的子查询返回了多行,这在Postgresql中是不允许的。
我可以通过其他方式表达此查询吗?
val deckQ = QDeck.deck
val predicate = BooleanBuilder()
val deckCardQ = QDeckCard.deckCard
predicate.and(
deckQ.cards.contains(
JPAExpressions.selectFrom(deckCardQ)
.where(
deckCardQ.cardName.eq("Card Name"),
deckCardQ.quantityInDeck.goe(2)
)
)
)
我得到的错误:
org.postgresql.util.PSQLException: ERROR: more than one row returned by a subquery used as an expression