ช่วยหน่อยครับ เรื่อง mysql

เริ่มโดย iDaemon, 22 มีนาคม 2008, 02:44:32

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

iDaemon


คือเรามี sql ที่มีข้อมูลประมาณนี้
INSERT INTO lyrics VALUES (songid1,'Artist','Songname','albumname','Artistletter','lyricstext');
INSERT INTO lyrics VALUES (songid2,'Artist','Songname','albumname','Artistletter','lyricstext');

แต่เราต้องการยัดลง table 3 table โดยแต่ละ table มี field ดังนี้

table แรก artist
('id','artist','total track')

คำถามแรก เราจะใช้คำสั่ง sql ยังไงให้มันเอา artist ไปใส่ในช่อง artist แล้วถ้าซ้ำก็ไม่เพิ่ม row แล้วเพิ่มจำนวน นับ track ใน คอลั่ม 3
ต้องใช้คำสั่งไรบ้างครับ

table ที่สอง track
('id','artist','title','album','dateadd','artwork','view')
อยากจะยัด ข้อมูลจากตารางแรก มาใส่ตารางนี้ โดยใส่ตามตัวมันเลยครับ id , artist , title , album

table สุดท้าย lyrics
('trackid','lyricstext')
อันนี้ยัด แค่ id กับ lyricstext น่ะครับ

ถ้าใครโปร ๆ mysql หน่อย คงไม่งงนาน ยังไงช่วยชี้แนะด้วยนะครับ ลอง search ดูมันแบบว่า ไม่ข้อมูลมาไม่ค่อยตรงเท่าไหร่ เพราะไม่รู้ต้องใช้คำสั่งอะไร


I Shall Return..

navico

ทำไรเนี่ย ผมคงยังไม่โปรมั๊งครับ....
จะเขียนโปรแกรม หรือถาม sql เฉยๆ น๊อ....
เดี๋ยวกลับมาดู...อยากรู้เหมือนกัน

iDaemon

#2
ถามเป็นคำสั่ง ของ sql เลยอะครับ

รันบน shell หรือ phpMyAdmin

คือได้ข้อมูลดิบมาเป็น table เดียว อยากเอาไปยัด ลง สาม table เพื่อนเขียนโปรแกรมละเอียดต่อไปน่ะครับ
I Shall Return..

thenetxx

sql เลยคงไม่ได้

คงต้องเขียนโปรแกรมเพิ่ม แต่ดึกแล้วไม่มีแรงประมวลผลเอาแค่วิธีละกันไปค้นต่อเองนะคับ

1. ใช้ fopen เปิดมันขึ้นมาแล้ว ใช้ fgets จับลง array จะได้ array ของแต่ละบรรทัด
2. เอา array ที่ได้ มา foreach แล้วใช้ regex ตัดเอาแค่ songid1,'Artist','Songname','albumname','Artistletter','lyricstext'

ถ้า regex เก่งหน่อยก็จะได้ เป็น array ของแต่ละฟิวเลย แต่ถ้าไม่เก่งก็จะได้เหมือนข้างบน ใช้ split ก็ได้ทำให้ได้ array ของแต่ละ field

3 เอา array ของฟิวที่ได้ มา query ลง db 3 แบบดังกล่าว
โดย table แรกกะอันที่ 3 ก็ query  insert ไปเลย

4.ส่วนtableอันที่สอง เมื่อสร็จข้อ 3 ก็  select distinct(artist) from table1
แล้วก็ loop insert เข้าไป  table 2 คับ



เอ่อ งงป่าวหว่า
Develop site but can't develop life
ASIA

iDaemon

อ่า พอจะนึกภาพออกแล้วครับ เดี๋ยวจะลอง ค้นดูต่อ คลำๆ ต่อไป เพราะไม่ได้เก่ง programing อะครับ  :-[

ถ้าติดตรงไหนจะมาถามใหม่นะครับผม  :-*
I Shall Return..