|
|
|
ต้องการ ให้ select 2 select เชื่อมต่อกันค่ะ ปกติทำได้ไหมค่ะ asp.net c# |
|
|
|
|
|
|
|
ทำได้ง่าย ๆ โดยการ UNION ครับ
|
|
|
|
|
Date :
2011-07-01 12:54:09 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
union มันต่อ Row ไม่ได้ ต่อ Column นะคับ
อ่าน คำถามน้องเค้าดีๆ ครับ
กรณีนี้ ต้องมี Index(key) นะครับ
เพราะไม่งั้นจะไม่รู้ว่า amกรณีt เป็นยอดของ record ไหนครับ
ถ้าเอา table 2 table มาเชื่อมกัน ก็เลือกใช้ได้เลยครับ
union หรือ union all ก็ได้ครับ
แต่จำนวน column ต้องเท่ากันนะครับ และ match field ด้วย
ส่วนกรณีที่ถามมานั้น ถ้ามี id ใน table cost ก็จะง่ายครับ
สามารถเอา ค่า table cost ไป อัพเดทลงที่ cusname ได้เลยครับ
เช่น
แนะนำ
Create table temp สักอันก่อน ถ้าเป็น SQl Server นะครับ
-- เอาโค้ดนี้ไปรันดูนะครับ มีสองแบบ ลองเลือกรันดู
-- อย่า drop table #tmp, #cusname , #cost นะครับทุกๆ ครั้งที่จะทำการ รันใหม่
-- table พวกนี้ จะไม่ create ลง database จริงๆ จะทำงานที่ memory นะครับ ไม่ต้องกังวล ปิดหน้าจอเมื่อไหร่หายทันที ^_^
insert into #cusname
select 1,'mix'
insert into #cusname
select 2,'rain'
select id,name from #cusname
insert into #cost
select 1, 50.25
insert into #cost
select 2, 100.68
select id,amount from #cost
select #cusname.id ,name,amount from #cusname left join #cost on #cusname.id = #cost.id
--***************
--หรือ เลือกรันเอานะครับ
--***************
create table #cusname(
id int default 0,
name varchar(50) default null
)
create table #cost(
id int default 0,
amount decimal(25,0)
)
insert into #cusname
select 1,'mix'
insert into #cusname
select 2,'rain'
select id,name from #cusname
insert into #cost
select 1, 50.25
insert into #cost
select 2, 100.68
select id,amount from #cost
create table #tmp(
id int default 0,
name varchar(50) default null,
amount decimal(25,2) default 0.0
)
insert into #tmp(id, name)
select * from #cusname
update #tmp set #tmp.amount = #cost.amount from #cost where #tmp.id = #cost.id
select * from #tmp
***** notice ครับ การเขียนแบบนี้ มักนิยมเขียนใน storeprocedure นะคับ จะสะดวกมากๆ แล้ว call store เอา
|
|
|
|
|
Date :
2011-07-02 11:05:06 |
By :
octopusman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|