 |
[PHP] อยากเขี้ยนโค้ดให้ตรวจสอบข้อมูลที่ขาดไปครับ รบกวนด้วย |
|
 |
|
|
 |
 |
|
สมมติฐานเบื้องต้น daily จะมี วันที่ ครบทุกวัน
สมมติฐานที่สอง คุณต้องมีตารางสาขา store ผมตั้งเองเลย เพราะไม่ได้บอกมา มี 2 field storecode, name
สมมติฐานที่สาม ความสัมพันธ์ของตาราง ข้อสามนี้ไม่มี เดาไม่ถูก จบข่าว ทำอะไรไม่ได้ 5555
ลองนำมาจอยกัน แล้ว where field is null ดูครับ
|
ประวัติการแก้ไข 2014-09-16 12:08:00
 |
 |
 |
 |
Date :
2014-09-16 12:05:59 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือผมเขียน โค๊ดโดยไม่รู้ความสัมพันธ์ไม่ได้ครับ
ความต้องการคือ branch_id, date where daily_id is null
date มาจากไหน ถ้าไม่คียเข้า ก็ต้องคิวรี่เอาจาก daily (และวันที่ ควรจะครบ เพราะคงไม่มีวันไหน ที่ทุกสาขาสไตค์ไม่นำเข้าข้อมูลพร้อมกัน)
อันนี้มี ใช้ได้
id สาขา สามารถ คิวรี่จาก linework ได้ แต่ linework มันเยอะ อยากให้เร็ว ก็ต้องคิวรี่จาก ตารางสาขา เอามาด้วย อย่างก 55555
อันนี้มีแต่ทำงานช้า
ความสัมพันธ์ของ daily กับ linework เห็นแค่ user_id แต่ผมไม่รู้ว่า field daily อัน ไหน สัมพันธ์ กับ สาขา อันนี้สำคัญ ไม่รู้ทำไม่ได้
อาจจะมี แต่อ่านชื่อฟีลด์แล้วไม่สื่อ เดาไม่ถูกว่าสัมพันธ์กันหรือเปล่า ทำโค๊ดไม่ได้
เอาเป็นสมมติว่า code คือ สาขาก็แล้วกัน 555 เดาเอานะถ้าผิดก็ไปแก้เอาเอง
อันนี้แบบช้าเพราะไม่รู้ตาราง สาขา
Code (SQL)
select tmp.`date`, tmp.code, daily.daily_id
from( select code, `date` from daily group by code, `date` ) tmp
left join daily on daily.code=tmp.code and daily.date=tmp.`date`
where daily.daily_id is null
ปล. date เอา backquote ครอบ ด้วยนะครับ เป็น คำพิเศษ
|
ประวัติการแก้ไข 2014-09-16 15:25:59 2014-09-16 15:28:34 2014-09-16 15:30:14
 |
 |
 |
 |
Date :
2014-09-16 15:24:22 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอดูหน้าผลลัพธ์ที่ต้องการหน่อยครับ ว่าจะออกมาหน้าตาเป็นยังไง???
|
 |
 |
 |
 |
Date :
2014-09-16 18:11:28 |
By :
{Cyberman} |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แก้ไขโค๊ดหน่อย พอดีรีบไปรับลูกสาว
และ ได้ ตาราง store มาด้วย ก็จบล่ะ
Code (SQL)
select tmp.`date`, tmp.code, daily.daily_id
from
(
select d1.storecode code, d2.`date`
from store d1 , (select `date` from daily group by `date` ) d2
) tmp
left join daily on daily.code=tmp.code and daily.date=tmp.`date`
where daily.daily_id is null
|
 |
 |
 |
 |
Date :
2014-09-16 18:25:58 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
รายงานความคืบหน้าครับ
โค้ดที่ให้มาใช้ได้ครับ ผมเอาไปคิวรี่ใน phpmyadmin ได้ผลออกมาตามต้องการแล้ว
แต่ติดปัญหาตรงให้มันไปคิวรี่บนเว็บเนี่ยแหละครับ
ลองใส่ดูมันคิวรี่ไม่ติด คิดว่าคงเพราะใส่ฟันหนูคลุมโค้ดไม่หมด ยิ่งสูตรนี้เป็น select ซ้อน select หลายอันด้วย ผมไปต่อไม่ถูกเลยว่าจะคลุมโค้ดด้วยฟันหนูยยังไง ( คลุมหมดก็ไม่ได้ = =)
|
 |
 |
 |
 |
Date :
2014-09-18 10:02:26 |
By :
nimirue |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
$qr=' select tmp.`date`, tmp.code, daily.daily_id
from
(
select d1.code, d2.`date`
from ( select code from daily group by code ) d1 , (select `date` from daily group by `date` ) d2
) tmp
left join daily on daily.code=tmp.code and daily.date=tmp.`date`
where daily.daily_id is null ';
ก็ไม่ต้องใส่ " ครอบ ให้ใส่ ' ครอบแทน
|
 |
 |
 |
 |
Date :
2014-09-18 10:39:31 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

ไม่ติดครับ Orz
ผมใส่ตามนี้อ่ะครับ
Code (PHP)
$qr=' select tmp.`date`, tmp.code, daily.daily_id
from
(
select d1.code, d2.`date`
from ( select code from daily group by code ) d1 , (select `date` from daily group by `date` ) d2
) tmp
left join daily on daily.code=tmp.code and daily.date=tmp.`date`
where daily.daily_id is null ';
$query = mysql_query($qr);
$result = mysql_fetch_assoc($query);
mysql_error();
|
 |
 |
 |
 |
Date :
2014-09-18 10:43:36 |
By :
nimirue |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
โอเคครับ ผมรู้สาเหตุละว่าทำไมไม่ได้ซะที
ผมลืมเชื่องต่อ database ครับ (ตกม้าตายสัส = ='')
ขอบคุณทุกคนที่ช่วยนะครับ
|
 |
 |
 |
 |
Date :
2014-09-18 11:18:42 |
By :
nimirue |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|