 |
|
สอบถามปัญหาคำสั่ง SQL เงื่อนไข Where ของ 5 ตารางนี้หน่อยครับ |
|
 |
|
|
 |
 |
|
ขอสอบถามเกี่ยวกับการ select 5 ตารางครับ
รายละเอียดคร่าวๆ ดังนี้ครับ
ตาราง สินค้าA ..................... ตาราง ประเภทสินค้าA
ProductID ..................... ATypeID
ATypeID ..................... ATypeName
UnitID.....................
ตาราง สินค้าB ..................... ตาราง ประเภทสินค้าB
ProductID ..................... BTypeID
BTypeID ..................... BTypeName
UnitID.....................
ตาราง หน่วยสินค้า
UnitID
UnitName
ผมลอง select แล้วมันก็ไม่ออกไม่ทราบว่าผิดพลาดตรงไหนช่วยแนะนำด้วยครับ
Select สินค้าA.ProductID,สินค้าB.ProductID as BProductID,ATypeName,BTypeName,UnitName
from สินค้าA,สินค้าB,ประเภทสินค้าA,ประเภทสินค้าB,หน่วยสินค้า
Where (สินค้าA.ATypeID = ประเภทสินค้าA.ATypeID) and (สินค้าB.BTypeID = ประเภทสินค้าB.BTypeID)
and (สินค้าA.UnitID = Unit.UnitID) and (สินค้าB.UnitID = Unit.UnitID)
ช่วยดูเงื่อนไขให้หน่อยครับ ติดมาหลายวันละ
ลองใช้ tool ก็ยังไม่ออก left join ก็ออกมาค่าซ้ำกันเยอะมาก
ขอบคุณครับ
Tag : .NET, Ms SQL Server 2005, Win (Windows App), C#, VS 2005 (.NET 2.x)
|
ประวัติการแก้ไข 2010-08-30 20:54:58 2010-08-30 20:55:40
|
 |
 |
 |
 |
Date :
2010-08-30 20:51:53 |
By :
masterz |
View :
1043 |
Reply :
4 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Select สินค้าA.ProductID,สินค้าB.ProductID as BProductID,ประเภทสินค้าA.ATypeName,ประเภทสินค้าB.BTypeName,
หน่วยสินค้า.UnitName
from สินค้าA,สินค้าB,ประเภทสินค้าA,ประเภทสินค้าB,หน่วยสินค้า
Where (สินค้าA.ATypeID = ประเภทสินค้าA.ATypeID) and (สินค้าB.BTypeID = ประเภทสินค้าB.BTypeID)
and (สินค้าA.UnitID = หน่วยสินค้า.UnitID) and (สินค้าB.UnitID = หน่วยสินค้า.UnitID)
|
 |
 |
 |
 |
Date :
2010-09-02 15:31:43 |
By :
njnight |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
หรือ
Code (C#)
SELECT .......
FROM [TableUnit] AS [Unit]
-- //================================
-- // REGION A BLOK
-- //================================
LEFT JOIN [TableItemA] AS [IA]
ON [Unit].[UnitID] = [IA].[UnitID]
LEFT JOIN [TableTypeA] AS [TA]
ON [IA].[ATypeID] = [TA].[ATypeID]
-- //================================
-- // REGION B BLOK
-- //================================
LEFT JOIN [TableItemB] AS [IB]
ON [Unit].[UnitID] = [IB].[UnitID]
LEFT JOIN [TableTypeB] AS [TB]
ON [IB].[BTypeID] = [TB].[BTypeID]
WHERE .....
ORDER BY .... ;
comment
ถ้าเป็นตารางที่ใช้งานจริงๆ ก็ออกแบบตารางได้แย่มากค่ะ
|
ประวัติการแก้ไข 2010-09-02 16:15:49 2010-09-02 16:16:19
 |
 |
 |
 |
Date :
2010-09-02 16:14:28 |
By :
blurEyes |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ควรจะตั้งชื่อ ตารางให้เป็นอังกฤษนะครับ อ่านเเล้วรู้สึก งงๆ ไงไม่รุ
|
 |
 |
 |
 |
Date :
2010-09-03 01:31:01 |
By :
Kotakin |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำไมต้องแยก ตาราง A และ B งง คับ
|
 |
 |
 |
 |
Date :
2010-09-03 08:26:42 |
By :
Pongpijit |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|