1

Sql newbなので、これを理解しようとしています:

特定の商品を購入した顧客名のリストを取得します。

select r.name
from records r
where r.item_purchased='apple'

ここで、その顧客のリストを取得して、顧客が購入したすべてのレコードを取得したいと考えていますが、エラーを回避できません。私は次のようなことを試しました:

with customer_list as
(above)
select r.*
from records r
where r.name=customer_list
4

3 に答える 3

2

私は自己結合があなたの問題を解決するはずだと信じています:

select distinct r2.*
from records r
join records r2
    on r2.name = r.name
where r.item_purchased='apple'

編集: DISTINCT@a_horse_with_no_name の結果の違いへの洞察に基づいて追加しました。これは、自己結合によって引き起こされる重複が望ましい結果になるとは思えないためです。

于 2012-10-19T15:41:08.620 に答える
1
Select * from records where name in (
                       select name
                         from records 
                        where item_purchased='apple'
)
于 2012-10-19T15:41:54.963 に答える