我有两个表如下:
列表表
listing_id
----------
111111
111113
Listings_features_table
id listing_id feature_id
------------------------------
1 111111 4
2 111111 1
5 111113 9
6 111113 1
7 111113 4
我试图只获得具有我指定的所有 feature_id 的结果。所以在我的例子中,如果我指定 (1, 4, 9),只有 Listing_id111113
在 feature_id 列中有这些,这就是我想要返回的。
我尝试在查询中使用 IN,但它等同于 OR,这就是为什么得到错误结果的原因。
以下是正在使用的查询:
SELECT * FROM listings_features
JOIN listings ON listings.listing_id=listings_features.listing_id
WHERE listings_features.feature_id IN (1,4,9) GROUP BY listings.listing_id
这给出了这个结果:
id listing_id feature_id listing_id
----------------------------------------------
1 111111 4 111111
5 111113 9 111113
有什么方法可以用来获得以下结果:
id listing_id feature_id listing_id
----------------------------------------------
5 111113 1, 4, 9 111113
还是我应该在 php 级别上这样做?