令本人狂晕的问题(不过问题可能比较弱智),50分求助 ( 积分: 50 )

  • 主题发起人 主题发起人 翁富大
  • 开始时间 开始时间

翁富大

Unregistered / Unconfirmed
GUEST, unregistred user!
SQLString := 'Select ''1'' TypeCode, ''手填固定项''TypeName From Dual '';
SQLString := SQLString + ' Union Select ''2'' TypeCode, ''界面数据项''TypeName From Dual ';
SQLString := SQLString + ' Union Select ''3'' TypeCode, ''换行'' TypeName From Dual ';
上面的sql语句是什么意思啊,偶丫搞不懂
本人目前总分193,出50分卖血求助
 
SQLString := 'Select ''1'' TypeCode, ''手填固定项''TypeName From Dual '';
SQLString := SQLString + ' Union Select ''2'' TypeCode, ''界面数据项''TypeName From Dual ';
SQLString := SQLString + ' Union Select ''3'' TypeCode, ''换行'' TypeName From Dual ';
上面的sql语句是什么意思啊,偶丫搞不懂
本人目前总分193,出50分卖血求助
 
Select '1' TypeCode, '手填固定项'TypeName From Dual ' Union Select '2' TypeCode, '界面数据项'TypeName From Dual Union Select '3' TypeCode, '换行' TypeName From Dual

TYPECODE TYPENAME
-------- ----------
1 手填固定项
2 界面数据项
3 换行

得到一个如此的数据集。
有什么疑问吗?
 
那里面的dual是什么东西啊,我从数据库里面找不到它啊
 
表,视图或是一个函数
 
你用select *from sysobjects where (xtype like 'u' or xtype like 'v') and name='dual' 試試找得到嗎?
註意要選對數據庫。:)
 
DUAL是数据库的一个表或是视图!
你如果用的是SQL SERVER2000的话,在查询分析器的左边栏里可以看到!当然也可以
在查询分析器里这样去查看:
select * from sysobjects where xtype='U' and name='dual'
楼上的写法可能有点错!
 
我用的oracle数据库,也觉得该是表,但是数据库里面所有的表都有前缀base或者traf的啊,视图么,怀疑中,我在查查
 
我又查了一下,表跟数据库里面都没有dual啊,但是程序确可以运行:(
 
dual是哦Oracle中自带的一张虚拟基表。 可以查看oracle的帮助文件
DUAL is a table automatically created by Oracle along with the data dictionary. DUAL is in the schema of
the user SYS, but is accessible by the name DUAL to all users. It has one column, DUMMY, defined to be
VARCHAR2(1), and contains one row with a value 'X'. Selecting from the DUAL table is useful for computing
a constant expression with the SELECT command. Because DUAL has only one row, the constant is
returned only once. Alternatively, you can select a constant, pseudocolumn, or expression from any table.

Example

The following statement returns the current date:
SELECT SYSDATE FROM DUAL;

You could select SYSDATE from the EMP table, but Oracle would return 14 rows of the same SYSDATE,
one for every row of the EMP table. Selecting from DUAL is more convenient.
 
多谢dwf3110,主要的障碍终于排除了,
但是
SQLString := 'Select ''1'' TypeCode, ''手填固定项''TypeName From Dual '';
SQLString := SQLString + ' Union Select ''2'' TypeCode, ''界面数据项''TypeName From Dual '
的运行机制我还是不太清楚,‘1’,‘2’是已经在数据库里面存在的还是后来生成的啊,TypeCode和TypeName是自己随便取名字么,另外Dual不是只有一列么,怎么这里却出现TypeCode和TypeName两列,本人是菜鸟,不要笑话我
 
'1' , '2'是自己定义的 和‘手填固定项‘ ‘界面数据项' 的效果是相同的  
dual 是一张虚拟基表, 在SELECT * FROM DUAL中 其默认只有一列,但是dual并不是一个实际存在的表,它可以根据实际的需求创建多列。其中TypeCode和TypeName为自己定义的列名称
 
强。。。果然是高手啊
 
1和2都是常数,并不再数据库中
这条语句就是实现一个多表拼接的作用。
TypeCode和TypeName是自己随便取的名字
TypeCode列 是后生成的。
我建议你还是买本SQl语言基础的书看看吧,真的!你这么问没有什么实际的意义,还是从SQL基础学起吧!!
 
唉,楼上的说得是,等我有时间一定把基础打好:(
接受答案,分分了
 

Similar threads

后退
顶部