回答

收藏

如何查找具有特定多属性值的所有产品

技术问答 技术问答 362 人阅读 | 0 人回复 | 2023-09-12

我正在使用postgresql。) T9 t0 _) f) K8 k4 y2 X! X/ S
我有一个名为custom_field_answers的表。数据看起来像这样8 v. Z6 r/ q9 W  i, `
Id | product_id | value      | number_value | ) w' K% W! D2 ?" ?3 W) j, [% T
4  | 2          |            | 117          |
+ @6 D/ C4 E  b8 |4 |2 p- c7 `3  | 1          |            | 107          |
* P" P1 W  b# q5 q. g$ r5 }7 ~2  | 1          | bangle     |              |  g* C' D$ v* A9 K4 b
1  | 2          | necklace   |              |9 K' M$ f! q) E* o/ J! d
我想查找所有text_value为“ bangle”且number_value小于50的产品。
' l, n' g% K, O0 k, s) y; a8 J这是我的第一次尝试。
, O1 ]/ v' ~* }SELECT "products".* FROM "products" INNER JOIN "custom_field_answers"
5 W2 f( V8 X! m3 P, PON "custom_field_answers"."product_id" = "products"."id"
' T7 e& W5 P' Z. ^- V3 j2 O' N0 rWHERE ("custom_field_answers"."value" ILIKE 'bangle')
7 t/ Q5 X* k/ q) [这是我的第二次尝试。
8 u0 E" N% U) k1 [$ k& j0 q) | SELECT "products".* FROM "products" INNER JOIN "custom_field_answers" 4 W5 ]7 ?: _" K+ x5 u
ON "custom_field_answers"."product_id" = "products"."id"
3 L' l+ j8 ]9 _2 M& Zwhere ("custom_field_answers"."number_value" 这是我最后的尝试。
  ]$ [( s5 ]+ MSELECT "products".* FROM "products" INNER JOIN "custom_field_answers"   W$ j6 Z  H* N& _0 y
ON "custom_field_answers"."product_id" = "products"."id" $ T9 Y* p( o& B% q7 E
WHERE ("custom_field_answers"."value" ILIKE 'bangle') 3 A# X: Y) X& l3 h# q' }
AND ("custom_field_answers"."number_value" 但这不会选择任何产品记录。) U4 ~$ m9 ^0 x. a9 l1 T  t/ ~. i
                % t! V3 d. c2 I" r# P* ]% c* U: ?1 {
解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则