我有一個1275字段寬的MYSQL表。表格中的每一行都代表一個班級的學生,每個學生有17個字段,每個班級X可達75個學生,因此17個X 75 = 1275個字段。使用PHP縮短重複的1400行MySQL UNION查詢
我設計了一個SQL UNION查詢,成功地將學生拉入另一個表,每個學生在一行上。
現在,我想使用這個UNION查詢作爲PHP程序的一部分。我已經將查詢「導入」到PHP中了。但是,沒有辦法使用PHP來縮短SQL查詢嗎?無恥的,這是我的代碼:
$sql = "
INSERT INTO $t_mem2
SELECT localcourse
, statecourse
, coursetitle
, semester
, section
, teachercode
, teachername
, meetingcode
, classpop
, student_id_01 AS student_id
, sex_01 AS sex
, dob_01 AS dob
, grade_01 AS grade
, ethnic_01 AS ethnic
, last_name_01 AS last_name
, first_name_01 AS first_name
, $c_sch AS sch_code
FROM $t_mem1
UNION
SELECT localcourse
, statecourse
, coursetitle
, semester
, section
, teachercode
, teachername
, meetingcode
, classpop
, student_id_02 AS student_id
, sex_02 AS sex
, dob_02 AS dob
, grade_02 AS grade
, ethnic_02 AS ethnic
, last_name_02 AS last_name
, first_name_02 AS first_name
, $c_sch AS sch_code
FROM $t_mem1
UNION
SELECT localcourse
, statecourse
, coursetitle
<...snip..............................>
, teachername
, meetingcode
, classpop
, student_id_75 AS student_id
, sex_75 AS sex
, dob_75 AS dob
, grade_75 AS grade
, ethnic_75 AS ethnic
, last_name_75 AS last_name
, first_name_75 AS first_name
, $c_sch AS sch_code
FROM $t_mem1
ORDER
BY localcourse
, statecourse
, semester
, section
, teachername
, meetingcode
, last_name
, first_name" ;
如果規範化數據庫,事情會縮短。 – 2010-08-05 01:28:35
由於沒有按照預期的方式使用關係數據庫,使得你的生活更加艱難,也就是使用表之間的關係有效地維護數據。尋求正常化,併爲自己節約數小時的未來頭痛。 – Tahbaza 2010-08-05 01:30:19
但是1275列表是在這個項目中給出的,而不是一個選項。我沒有擺桌子。你是這個意思嗎? – dave 2010-08-05 01:35:05