1

q1とを組み合わせq2て 1 つのクエリにすることはできますか?

Hive で代替クエリが必要です。

SELECT q3.*
FROM   (
           (
               SELECT prod_id,
                      prod_name,
                      cust_id
               FROM   sell_info
               GROUP BY
                      prod_id,
                      prod_name,
                      cust_id
           )q1
           JOIN
           (
               SELECT cust_name,
                      cust_address
               FROM   cust_info
               WHERE  cust_type LIKE 'Reg%'
           )q2
           ON q1.cust_id = q2.cust_id
       ) q3;
4

4 に答える 4

3

次のように、サブクエリを必要とせずにJOIN2 つのテーブルcust_infoを直接使用できます。sell_info

Select DISTINCT *
FROM sell_info AS s
INNER JOIN cust_info AS c ON s.cust_id = c.cust_id
WHERE c.cust_type like 'Reg%';

次の点に注意してください:する必要はありませんでしたがGROUP BY prod_id, prod_name, cust_id、同時に、次の3 つの列のみを選択しています。

   SELECT prod_id,
          prod_name,
          cust_id
   FROM   sell_info
   GROUP BY
          prod_id,
          prod_name,
          cust_id

DISTINCTこれは、 を必要とせずにキーワードのみを使用して簡単に実現できますGROUP BY。はDISTINCT、 が原因で発生する重複を排除しJOINます。

于 2013-02-13T06:56:36.230 に答える
0

cust_is両方のテーブルに存在する顧客と製品のデータのみを表示する場合は、内部結合を使用できます。

Select prod_id,
       prod_name,
       cust_info.cust_id,
       cust_name,
       cust_address 
from  sell_info inner join cust_info 
      on sell_info.cust_id=cust_info.cust_id 
where cust_type LIKE 'Reg%'
于 2013-02-13T07:56:54.977 に答える