0

Listings と Catalog_Options という 2 つのテーブルがあります。

リスト

listing_id
catalog_option_1
catalog_option_2
catalog_option_3

Catalog_Options

id
value

ここcatalog_option_1, catalog_option_2, catalog_option_3には、Catalog_Options テーブルの ID にマップされる ID が含まれています。3 つすべての値を読み取り、listing_id の 1 つの行に表示したい、たとえば list_1

4

3 に答える 3

1

これを試して

 SELECT * FROM `catalog_options` 
 where id in
 (SELECT catalog_option_1 FROM `listings` 
 union
 SELECT catalog_option_2 FROM `listings`
 union
 SELECT catalog_option_3 FROM `listings`)
于 2013-05-23T07:32:19.197 に答える
0

これを試して:

SELECT l.listing_id,c1.value as ca1,c2.value as ca2,c3.value as ca3 FROM listing l
   JOIN catalog_option c1 on c1.id = l.catalog_option_1
   JOIN catalog_option c2 on c2.id = l.catalog_option_2
   JOIN catalog_option c3 on c3.id = l.catalog_option_3;
于 2013-05-23T07:17:25.763 に答える
0

私が正しく理解したい場合は、これを試す必要があります:

SELECT
    GROUP_CONCAT(l.listing_id),
    GROUP_CONCAT(c.value)
FROM
    Listings l
LEFT JOIN Catalog_Options c
    ON c.id = RIGHT(l.listing_id,1)
于 2013-05-23T07:17:52.637 に答える