@denise_gunner
dalam kasus ini saya mangasumsikan bahwa t_penjualan tuh punya relasi 1 ke 1
dengan t_customer n t_sales..dengan kata lain setiap kali penjualan tidak
mungkin punya > 1  customer n > 1 sales..

jadi dalam asusmsi saya tuh table penjualannya kira2 gini :

*id_penjualan    tgl_penjualan    id_customer   id_sales*
1                       01-01-2010         C001               S002
2                       03-01-2010         C004               S001
3                       04-01-2010         C002               S003
4                       05-01-2010         C003               S002
5                       06-01-2010         C003               S002
6                       07-01-2010         C003               S002

nah jadi klo kasus kek gt kan ndak masalah soal jumlah data..
mungkin kamu bisa kirim sekalian realasi table nya kek gmn..biar bisa lebih
jelas..




2010/7/30 denise_gunner <[email protected]>

>
>
> Mas Wendi,
>
> Saya mau tanya mengenai query kedua yang mas kasih
> Saya masih kurang gitu ngerti dengan cara kerja alias subquery itu
>
> Sintaknya saya coba pecah jadi 3 bagian yah :
> 1. select p.tanggal_penjualan from t_penjualan p
> 2. (select customer_name from t_customer c on c.id_customer =
> p.id_customer) as customer_name
> 3. (select sales_name from t_sales s on s.id_sales = p.id_sales) as
> sales_name
>
> Misalkan bagian pertama menghasilkan 50 baris, kemudian bagian kedua
> menghasilkan 10 baris, dan bagian ketiga menghasilkan 15 baris.
>
> Pertanyaan saya, bagaimana mungkin SQL bisa menampilkan semua field dalam
> satu waktu, sementara jumlah record pada masing2x field yang ditampilkan
> berbeda
>
> Thx
>
>
> --- In [email protected] <indo-oracle%40yahoogroups.com>, wendi
> gunawan <wendi.guna...@...> wrote:
> >
> > @fansul...
> > memang ada kasus2 yg diharuskan menggunakan left join...
> >
> > nih asumsi saya aja ya..misalkan..relasinya : 1 penjualan punya 1 sales n
> 1
> > customer
> >
> > skarang kondisinya :
> > 1. 2 kolom relasi ke table sales n customer..itu kudu wajib ada..maka
> > sebaiknya make inner join saja..
> > 2. klo keduanya tidak wajib..maka make left join..
> > hanya saja jika di 2 table tadi yg pengen di tampilin cuman 1 kolom aja
> > misalnya nama sales n nama customer...left join ke 2 table itu bisa di
> ganti
> > dengan subquery...
> >
> > *cara pertama make left join*
> > select
> > p.tanggal_penjualan,
> > c.customer_name,
> > s.sales_name
> >
> > from t_penjualan p
> > left join t_customer c on c.id_customer = p.id_customer
> > left join t_sales s on s.id_sales = p.id_sales
> >
> > *cara kedua make subquery *
> >
> > select
> > p.tanggal_penjualan,
> > (select customer_name from t_customer c on c.id_customer = p.id_customer)
> > as customer_name,
> > (select sales_name from t_sales s on s.id_sales = p.id_sales) as
> sales_name
> > from t_penjualan p
> >
>
>  
>



-- 
wendi gunawan
Java Software Developer & penulis (new bie)
terus belajar untuk tidak cinta dunia
http://oretanwendi.wordpress.com/
hp:085624046906


[Non-text portions of this message have been removed]

Kirim email ke