这里的问题是假设我想使用由UNION分隔的两个查询,则查询为
$query=(select a.name,a.age,b.country,b.state from a,b where a.aid=b.bid) UNION (select a.name,a.age,c.profession,c.salary from a,c where a.anid=c.cid)
这里结果只会显示第一个查询的结果,我可以用任何方式显示第二个查询的结果,也可以显示第一个查询使用UNION的结果。期待任何帮助。感谢
答案 0 :(得分:0)
试试这个
$query=(select a.name,a.age,b.country,b.state from a,b where a.aid=b.bid UNION select a.name,a.age,c.profession,c.salary from a,c where a.anid=c.cid)
顺便说两个select中的字段必须是相同的数据类型
答案 1 :(得分:0)
据我所知,联盟是在两个不同的表上进行相同的查询。如果从工会的前半部分得到结果,你将无法从下半部分得到结果。
答案 2 :(得分:0)
UNION
的基本属性是
列出的选定列 每个SELECT的相应位置 语句应该具有相同的数据 类型。 (例如,第一列 由第一个声明选择应该 与第一列具有相同的类型 由其他陈述选择。)
如果数据类型对应 SELECT列不匹配,类型 和列中的列长度 UNION的结果考虑到了 由所有SELECT检索的值 声明。例如,考虑一下 以下内容:
答案 3 :(得分:0)
你好吗
(
select a.name,a.age,b.country,b.state,null as profession,null as salary
from a,b
where a.aid=b.bid
)
UNION
(
select a.name,a.age,null,null,c.profession,c.salary
from a,c
where a.anid=c.cid
)
第一个查询的专业和工资列中将为null,第二个查询中的国家和州列中为null