2012-01-23 31 views
0

我有一个看起来像这样的两个表:总结一个varchar的长度

检查点与现场:

Checkpoint_id 
    Checkpoint_name 

checkpoint_id是主键

Checkpoint_data与字段:

Checkpoint_id 
sequence_number 
data 

(checkpoint_id,sequence_number)是主键

我想要做的,就是让与它的名字checkpoint_id,而且还总结所有通过checkpoint_id链接数据的长度。例如,我会想sequence_number 1,2,3和4的长度,然后加起来的长度了所有数据,并与相应的检查点ID和名称返回。数据字段是一个varchar

+1

你有没有尝试过任何超出问吗? – JNK

+0

我也是新的SQL,发现这个整洁的网站http://sqlzoo.net/。当然也有其他人,但练习使得完美。 – Samjus

+0

我一直在测试自己的语句,并且在尝试运行它时遇到错误。来到这里一些帮助 – user906153

回答

4
SELECT c.checkpoint_id, c.checkpoint_name, sum(length(cd.data)) 
FROM checkpoint c 
INNER JOIN checkpoint_data cd ON c.checkpoint_id = cd.checkpoint_id 
GROUP BY c.checkpoint_id 

编辑:

SELECT c.checkpoint_id, c.checkpoint_name, sum(length(cd.data)) 
FROM checkpoint c 
INNER JOIN checkpoint_data cd ON c.checkpoint_id = cd.checkpoint_id 
GROUP BY c.checkpoint_id, c.checkpoint_name 
+0

我只是试图做这在我的表,但不幸的是它推出了一个错误:SQL错误:ORA-00979:不是GROUP BY表达式 – user906153

+0

对不起,还没有测试它,和它晚了..尝试我的编辑: – StevieG

+0

这是我一直运行到每次我试图为这个SELECT语句的新技术时的错误 – user906153

-1

有两列:名字,姓氏为表名员工。

SELECT first_name, 
     last_name, 
     LENGTH(first_name)+LENGTH(last_name) 
      as "Length of name" FROM employees;