|
|
|
ms sql 2008 สร้าง view จาก หลายๆ คอลัมน์ ไม่ได้ครับ |
|
|
|
|
|
|
|
Query ได้ มันก็ทำได้หมดครับ เปลี่ยนชื่อ Alias ไม่ให้ชนกันก็พอครับ
|
|
|
|
|
Date :
2018-09-04 11:02:27 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หากใช้แค่
Code (SQL)
SELECT dbo.Method_Parameter.mtPRM_ID, dbo.Method.method_Name_1, dbo.Product_Sampletype.Product_Sampletype_1,
dbo.Product_Parameter.Product_Parameter_1
FROM dbo.Method INNER JOIN
dbo.Method_Parameter ON dbo.Method.method_ID = dbo.Method_Parameter.MethodID INNER JOIN
dbo.Product_Parameter ON dbo.Method_Parameter.ParameterID = dbo.Product_Parameter.Product_Parameter_ID INNER JOIN
dbo.Product_Sampletype ON dbo.Method_Parameter.SampleTypeID = dbo.Product_Sampletype.Product_Sampletype_ID
Query ได้ปกติครับ
แต่ถ้าแบบนี้
Code (SQL)
SELECT dbo.Method_Parameter.mtPRM_ID, dbo.Method.method_Name_1 + dbo.Product_Sampletype.Product_Sampletype_1 AS Expr1
FROM dbo.Method INNER JOIN
dbo.Method_Parameter ON dbo.Method.method_ID = dbo.Method_Parameter.MethodID INNER JOIN
dbo.Product_Parameter ON dbo.Method_Parameter.ParameterID = dbo.Product_Parameter.Product_Parameter_ID INNER JOIN
dbo.Product_Sampletype ON dbo.Method_Parameter.SampleTypeID = dbo.Product_Sampletype.Product_Sampletype_ID
ก็จะ Eeror ขึ้นมาครับ
|
|
|
|
|
Date :
2018-09-05 17:02:22 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูออกง่ายๆเลยครับปัญหานี้อะ คุณเอาข้อมูลที่ Data type ต่างชนิดมาบวกกันครับ กลับไปเซ็คว่า
dbo.Method.method_Name_1 + dbo.Product_Sampletype.Product_Sampletype_1
2 Column นี้ ชนิดข้อมูลต่างกันไหม ถ้าต่างกัน CONVERT ครับ หรือ แก้ให้เมหือนกัน
ปล. หรือถ้าไม่ได้จริงๆ ให้ทำเป็น VARCHAR ก่อนคับ ได้ชัวร์
|
ประวัติการแก้ไข 2018-09-05 17:30:21 2018-09-05 17:35:38
|
|
|
|
Date :
2018-09-05 17:29:53 |
By :
Thaidevelopment.NET |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ
ไม่รู่ว่าเขียนโค้ดถูกหลักหรือปล่าวครับ เพราะ ต้อง convert to varchar แล้ว ยังต้องใช้ TRIM เพื่อตัดช่องว่างอีก
Code (SQL)
SELECT dbo.Method_Parameter.mtPRM_ID, LTRIM(RTRIM(CONVERT(varchar(200), dbo.Method.method_Name_1))) + '_' + LTRIM(RTRIM(CONVERT(varchar(200),
dbo.Product_Sampletype.Product_Sampletype_1))) + '_' + LTRIM(RTRIM(CONVERT(varchar(200), dbo.Product_Parameter.Product_Parameter_1))) AS _Setected
FROM dbo.Method INNER JOIN
dbo.Method_Parameter ON dbo.Method.method_ID = dbo.Method_Parameter.MethodID INNER JOIN
dbo.Product_Parameter ON dbo.Method_Parameter.ParameterID = dbo.Product_Parameter.Product_Parameter_ID INNER JOIN
dbo.Product_Sampletype ON dbo.Method_Parameter.SampleTypeID = dbo.Product_Sampletype.Product_Sampletype_ID
ปล.มีคำถามคือ text เราเอามาต่อกันไม่ได้หรือครับ ทำไม ต้อง convert to varchar ก่อน
|
|
|
|
|
Date :
2018-09-05 20:12:59 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่เคยใช้ datatype เป็น text เลย
ลองแก้ที่ database ไปเป็น nvarchar ได้ไหมครับ
แล้วลองใช้คำสั่งแบบแรกดูว่าได้ไหม
|
|
|
|
|
Date :
2018-09-06 08:45:56 |
By :
fonfire |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TEXT มันใช้ + ไม่ได้ครับ
|
|
|
|
|
Date :
2018-09-06 09:25:23 |
By :
Thaidevelopment.NET |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คำสั่ง concat() จะได้ทุก type string
|
|
|
|
|
Date :
2018-09-06 17:44:44 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@TOR_CHEMISTRY
@Chaidhanan
คุณทั้งสองคนเชื่อผมหรือไม่ว่า ผมเขียน SQL Query ได้ซับซ้อนมากกว่านี้และยากมากฯที่จะเข้าใจ
--- คำตอบของคุณอบอุ่น TOR_CHEMISTRY
--- คำตอบของคุณอบอุ่น Chaidhanan
ความคิดเห็นของผมเหมือนพายุคนทั้งโลกมองว่า "มันน่าเกลียดชัง"
|
|
|
|
|
Date :
2018-09-06 22:07:34 |
By :
หน้าฮี |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|