-3

我想执行两个具有相同列数的查询。这是我的查询,请帮助我得到结果:

SELECT  A.* 
FROM (SELECT * 
      FROM yh5lw_onlinecourse 
      WHERE state = 1 
      ORDER BY id DESC) A 
union 
SELECT A1.* 
FROM (SELECT * 
      FROM yh5lw_practicetest 
      WHERE state = 1 
      ORDER BY id DESC) A1
4

1 回答 1

1

我想你想要这个:

SELECT * FROM 
  (SELECT A.id as id, A.field1 as outputname1, A.field2 as outputname2, ... and so on 
  FROM yh5lw_onlinecourse A
  WHERE state = 1 
  UNION
  SELECT A1.*
  FROM yh5lw_practicetest A1
  WHERE state = 1) myUnion
order by myUnion.id DESC

注意:

如果您使用 UNION 而不是 UNION ALL 您将丢弃所有重复的值-

第一个查询必须有别名,因为这样你命名了 yuor 输出表。第二个查询(UNION之后)可以使用*通配符(但字段数必须相同)

于 2013-10-17T11:00:24.583 回答