2013-08-07 73 views
-1

TableA具有owner和tablespace_name。 表B有身份证,姓名和地址。针对Oracle的SQL语句

我想从表B中选择* where tableA.owner =“CSCI”;

但它无法检索表B的细节。

无法记起正确的语法 - 请帮助!

+0

同时显示表的模式。也是两个表之间的关系。你可以使用JOIN来实现这一点。 – hims056

+0

这就是我想要做的: select * from country where all_tables.owner ='CSCI315'; 其中基于所选用户选择表格。但如果我使用join,它将从all_tables表中选择所有数据。 – dada050909

+0

您正试图决定在运行时选择哪个表(您有多个表具有不同架构拥有的相同名称),对吧?你不能通过连接来实现这一点,你需要使用动态SQL,以'select * from CSCI315.country'结束。但是你在哪里以及如何运行它,并且所有者名称来自哪里?例如,在SQL * Plus中可能会有解决方法。 –

回答

0

试试这个

select * from country where UserName in(select UserName from Usertable where UserName='personA') 
+0

选择*从拥有者所在的国家(从​​all_tables中选择所有者,其所有者='CSCI315'); 错误在第1行: ORA-00904:“OWNER”:无效标识符 它有一个错误无效标识符。 – dada050909

+0

您必须具有两个表共同的列,然后只有您可以通过使用连接或以这种方式获得结果 – Kavipriya