Обхождане на няколко таблици

t0shk0

Registered
Как да обходя няколко таблици с една заявка и да подредя всичките резултати от всичките таблици по дата и да изведа тези 5, които имат най близка до днешната дата или по-просто казано които имат най-голям timestamp
 
Примерно така:
[sql]
select * from
(
select datefield, field1, field2 from table1
union all
select datefield, field1, field2 from table2
union all
select datefield, field1, field2 from table3
union all
select datefield, field1, field2 from table4
)
order by datefield DESC
limit 5
[/sql]
 
SQLSTATE[42000]: Syntax error or access violation: 1248 Every derived table must have its own alias'

Тази грешка ми дава..

ПП: Оправих я заявката, но сега имам друг въпрос. Как да разбера кой резултат от коя таблица идва :D
 
[sql]select * from
(
select datefield, field1, field2, 'table1' AS `from` from table1
union all
select datefield, field1, field2, 'table2' AS `from` from table2
union all
select datefield, field1, field2, 'table3' AS `from` from table3
union all
select datefield, field1, field2, 'table4' AS `from` from table4
)
order by datefield DESC
limit 5[/sql]

където from заради "'table1' AS `from`" връща table1
 

Back
Горе