0
Мне было сложно объединить несколько запросов select в запрос. , если я выбираю один запрос, он отлично работает, но присоединение к команде select с командой union ничего не показывает. что я делаю, это, скорее всего, неправильно.Как использовать несколько операторов select в запросе
$sel=mysql_query ("SELECT *
FROM studentmark join
student
ON studentmark.student_id = student.username join
subject
ON subject.code = studentmark.code
where student.username='$name' AND studentmark.YEAR = '$ya' AND
studentmark.TERM = 'THIRD')
//it works fine without using the union for a single query but joining the query there is nothing display
UNION(SELECT TOTAL AS secondterm
FROM studentmark
JOIN subject ON subject.code=studentmark.code
WHERE studentmark.student_id='$name'
AND studentmark.YEAR='$ya'
AND studentmark.TERM = 'SECOND')UNION(SELECT TOTAL AS firstterm
FROM studentmark
JOIN subject ON subject.code=studentmark.code
WHERE studentmark.student_id='$name'
AND studentmark.YEAR='$ya'
AND studentmark.TERM = 'FIRST'");
$fetch=mysql_fetch_array($sel);
$count=mysql_num_rows($sel);
Вы unioning различное количество столбцов: 'Select *' и 'Select TOTAL AS secondterm'. Это не будет работать. Возможное решение: http://stackoverflow.com/questions/2309943/unioning-two-tables-with-different-number-of-columns –
объединение только для одной таблицы не для 2 таблиц – user5189527
Ваш код трудно читать , пожалуйста, отформатируйте немного лучше. Неважно, сколько таблиц вы используете в своем союзе, но количество столбцов должно соответствовать каждому запросу в объединении: '(Select * from studentmark ...) UNION (Выбрать TOTAL AS secondterm FROM studentmark ... .) UNION (SELECT TOTAL AS firstterm FROM studentmark ...) 'Второй и третий запрос возвращают только один столбец, но первый возвращает намного больше столбцов. –