 |
|
สอบถามเรื่องการใช้ SQL ในส่วนของ Where cause ของ in ครับ เกิด Error |
|
 |
|
|
 |
 |
|
ก็อยู่ที่ in กับอะไรครับ
ถ้า in กับ (select fld from table2)
Code (SQL)
select *
from table
where field1 in (select fld2 from table2)
Code (SQL)
select table1.*
from table1
inner join (
select id from table2 group by id
) as tb2 on table1.id=tb2.id
ถ้าทำอย่างอื่นเอา query string มาดูครับ
|
 |
 |
 |
 |
Date :
2015-02-19 12:39:56 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณ ท่านที่มาโพสให้มากครับ
ดาต้าที่ได้มันประมาณนี้นะครับ
select field_data from table1 where id in (1,2,3,.....,1500)
เป็นดาต้าที่ ส่งมาจาก Textbox นะครับ เลยใช้ Sub Query ไม่ได้
ผมเลยแก้ โดย นำดาต้ามา Split แล้ว For .. loop เอาครับ ค่อยๆ Execute ทีละชุดครับ
ขอบคุณท่านที่มาตอบมากครับ
|
 |
 |
 |
 |
Date :
2015-02-19 13:15:29 |
By :
pisko101 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าเป็นผม ผมจะสร้าง temp table แล้ววน loop ยัดข้อมูลลงไป ไม่น่าจะนานนะ 1000 - 2000 record นี่น่ะ
จากนั้นค่อยๆจับมาเข้า query ซึ่งไม่น่าจะต้องใช้ not..in หรือ in เพราะไอ้เจ้า 2 statment นั่นกิน resource คอดๆ
พอเสร็จกิจ ก็พากันไปตรวจที่ศูนย์ HIV แห่งชาติ .. ไม่ใช่ละ ก็ลบ temp table ออกไป
(กรรมละลืมตรองดูว่าเป็นเทพพยากรณ์ ชินแต่กับซีเชล)
Code (SQL)
CREATE GLOBAL TEMPORARY TABLE FOO
(ID INTEGER)
ON COMMIT DELETE ROWS;
INSERT ALL
INTO FOO (ID) VALUES (1)
INTO FOO (ID) VALUES (2)
--....
--.... จะใส่มากี่ตัวล่ะครัช 1,000 หรือจะ 10,000
--....แต่ถ้ามากจินๆ ก็เปลี่ยนเป็น bulk insert ลงไป temp table ก็ได้
INTO FOO (ID) VALUES (2323) ;
--จาก select field_data from table1 where id in (1,2,3,.....,1500)
--ได้แว่
SELECT FIELD_DATA
FROM TABLE1 RIGHT JOIN FOO
ON TABLE1.ID = FOO.ID ;
DROP TABLE FOO ;
|
ประวัติการแก้ไข 2015-02-22 21:50:43 2015-02-22 22:09:18 2015-02-22 22:23:10
 |
 |
 |
 |
Date :
2015-02-22 21:49:26 |
By :
BIG BAD DOG |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ฮ่าๆ ขอบคุณ ทุกท่านมากครับ 
|
 |
 |
 |
 |
Date :
2015-02-23 09:21:04 |
By :
pisko101 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

|
 |
 |
 |
 |
Date :
2015-02-23 21:48:56 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|