对不起,又来麻烦你了!你说的那种方法之前已经试过了,不行啊!

[复制链接]
查看11 | 回复1 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
充满书香气息的高手:
对不起啊!我又来打扰你了!你所说的不要用* 要用一个数据类型相同的字段比如:ID吧!但这种方法是不行的,之前我已经试过了!我把系统的提示信息发给你看!“错误205:包含union运算符的SQL语句中的所有查询都必须在目标列表中,具有相同数目的表达式!“系统会发出一个这样的出错信息!我再给你说一下,比如三个表吧!
表一:有以下字段!
ID,code, name,s y_ouFK, modou
表二:有以下字段!
ID,name,sy_periodID ,moduser, checker ,modtime ,maker, model
表三:有以下字段!
ID,name, sex, birthday, posID
这里有三人表,有一个字段是相同,就是ID和name。但它们所拥有的字段的数目是不同的!我要同时查出符合name字段的三个表中ID的值!要怎么样做啊?刚才你所说的那种方法不行,看还有没有其它的方法啊!等着你的答复!先谢您了!
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
你的查询结果到底要几个字段?如果只是
同时查出符合name字段的三个表中ID的值
那么
select id
from table1 where name ='xxx'或其他条件
union all
select id
from table2 where name ='xxx'或其他条件
union all
select id
from table3 where name ='xxx'或其他条件
就可以了
如果所有字段都要,那么把最多字段的写在前面,
并在少字段的表查询中构造兼容字段的常量就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行