求助一个oracle语句

m23232m 2012-02-01 05:15:34
我现在有两张表。建表语句如下:
CREATE TABLE USERYUN(
ID INT NOT NULL,
DBUSER VARCHAR2(20) NOT NULL,
USERNAME VARCHAR2(20) NOT NULL,
USERTAG INT NOT NULL,
USERID VARCHAR2(20) NOT NULL,
PRIMARY KEY (DBUSER)
);
CREATE TABLE WORKARRANGE(
ID INT NOT NULL,
WORKTIME DATE NOT NULL,
DBUSER1 VARCHAR2(20),
DBUSER2 VARCHAR2(20),
CHARGEID VARCHAR2(20),
PRIMARY KEY (ID),
FOREIGN KEY(DBUSER1) REFERENCES USERYUN(DBUSER),
FOREIGN KEY(DBUSER2) REFERENCES USERYUN(DBUSER),
FOREIGN KEY(CHARGEID) REFERENCES USERYUN(DBUSER)
);
DBUSER项为用户代号,USERYUN里的username为真实姓名。我的workarrange表存的是DBUSER,这个是代号,
现在比如说workarrange表里有一组数据,(1,2011-1-1,aaa,bbb,ccc),USERYUN表里有三个数据,分别是(1,aaa,AAA,1,1),
(1,bbb,BBB,1,1),(1,ccc,CCC,1,1)。问题来了。我想把workarrange表里的这一个数据提取出来,顺便还能取到他们的名字。
打个比方就是我想得到如下的数据(1,2011-1-1,aaa,AAA,bbb,BBB,ccc,CCC)这个语句该怎么写。求救!!!
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
可以结贴了
m23232m 2012-02-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xpingping 的回复:]

SQL code
select ID ,
WORKTIME ,
DBUSER1 ,
select USERNAME from USERYUN where DBUSER=tb.DBUSER1 ,
DBUSER2 ,
select USERNAME from USERYUN where DBUSER=tb.DBUSER2 ,
CHARGEID ,
select USERNAME from US……
[/Quote]
多谢,已经解决了。在嵌套的select上加上括号就可以了。多谢
m23232m 2012-02-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xpingping 的回复:]

SQL code
select ID ,
WORKTIME ,
DBUSER1 ,
select USERNAME from USERYUN where DBUSER=tb.DBUSER1 ,
DBUSER2 ,
select USERNAME from USERYUN where DBUSER=tb.DBUSER2 ,
CHARGEID ,
select USERNAME from US……
[/Quote]大概意思我能看懂,但是执行的时候总是报错,提示我第4行缺失表达式,ORA-00936.
xpingping 2012-02-01
  • 打赏
  • 举报
回复
select ID ,
WORKTIME ,
DBUSER1 ,
select USERNAME from USERYUN where DBUSER=tb.DBUSER1 ,
DBUSER2 ,
select USERNAME from USERYUN where DBUSER=tb.DBUSER2 ,
CHARGEID ,
select USERNAME from USERYUN where DBUSER=tb.CHARGEID
from WORKARRANGE tb

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧