0

テーブルの列からblob(この場合は画像)を選択する方法を知っている人はいますか?以下の私のクエリはこのエラーをスローします:

ORA-00932: inconsistent datatypes: expected - got BLOB
00932. 00000 -  "inconsistent datatypes: expected %s got %s"

SELECT homes.title, homes.description, homes.living_room_count, homes.bedroom_count, homes.bathroom_count, homes.price, homes.sqft,
       listagg(features.feature_name, ',') WITHIN GROUP (ORDER BY features.feature_name)  features, home_type.type_name, home_photo.photo, home_photo.description
FROM homes
INNER JOIN home_feature
    ON homes.home_id = home_feature.home_id
INNER JOIN home_type
    ON home_type.type_code = homes.type_code
INNER JOIN home_photo
    ON homes.home_id = home_photo.home_id
INNER JOIN features
    ON home_feature.feature_id = features.feature_id
INNER JOIN home_photo
    ON home_photo.home_id = homes.home_id
GROUP BY homes.title, homes.description, homes.living_room_count, homes.bedroom_count, homes.bathroom_count, homes.price, homes.sqft, home_type.type_name, home_photo.photo, home_photo.description;

ありがとうございました

4

1 に答える 1

3

BLOB列でGROUPBYを使用しようとしているため、このエラーが発生します。これはOracleでは不可能です。

サブクエリでグループ化を行い、home_photoを使用したJOINを外部クエリに移動することで、これを解決できるはずです。

select v1.*,
       home_photo.photo,
       home_photo.description
  from (SELECT homes.homes_id,
               homes.title,
               homes.description,
               homes.living_room_count,
               homes.bedroom_count,
               homes.bathroom_count,
               homes.price,
               homes.sqft,
               listagg(features.feature_name,
                       ',') WITHIN GROUP(ORDER BY features.feature_name) features,
               home_type.type_name
          FROM homes
         INNER JOIN home_feature
            ON homes.home_id = home_feature.home_id
         INNER JOIN home_type
            ON home_type.type_code = homes.type_code
         INNER JOIN features
            ON home_feature.feature_id = features.feature_id
         GROUP BY homes.homes_id,
                  homes.title,
                  homes.description,
                  homes.living_room_count,
                  homes.bedroom_count,
                  homes.bathroom_count,
                  homes.price,
                  homes.sqft,
                  home_type.type_name) v1
 INNER JOIN home_photo
    ON home_photo.home_id = v1.home_id
于 2013-01-16T10:21:43.873 に答える