J'ai une table MYSQL qui est 1275 de vastes champs. Chaque rangée du tableau représente une seule classe d'élèves, avec 17 champs par élève, X jusqu'à 75 élèves par classe, donc 17 X 75 = 1275 champs.Raccourcir une ligne répétitive 1400 requêtes MySQL avec PHP UNION
J'ai mis au point une requête SQL UNION qui tire avec succès les étudiants dans une autre table, chaque étudiant sur une seule ligne.
Maintenant, je veux utiliser cette requête UNION dans le cadre d'un programme PHP. J'ai "importé" la requête en PHP telle qu'elle est. Mais, n'y at-il pas un moyen d'utiliser PHP pour raccourcir la requête SQL? Sans vergogne, voici mon code:
$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" ;
Les choses raccourciraient si vous normalisez la base de données. –
Vous compliquez votre vie en n'utilisant pas une base de données relationnelle de la manière prévue, à savoir maintenir les données de manière efficace en utilisant les relations entre les tables. Regardez dans la normalisation et sauvez-vous des heures de futurs maux de tête. – Tahbaza
Mais la table de 1275 colonnes est donnée dans ce projet, pas une option. Je n'ai pas fait la table. C'est ce que tu veux dire? – dave