2010-06-21 39 views
2

你如何合并这两行?通过子查询算术?

"SELECT col1, col2, col3, col4 FROM table_a WHERE col4 = '$col4_val'" 

"SELECT col1 FROM table_a WHERE col5 = '$col4_val'" 

说第一个查询COL1 = 20,第二个查询COL1 = 10

如何创建一个返回COL1,COL2,COL3的值的查询, col1来自第一个查询但col1 = 30(第一个和第二个查询加在一起)?

我可以通过PHP做算术,但我宁愿如果可能的话做查询。

+0

修正,第二个查询从表-B选择 – Jubair 2010-06-21 15:40:29

回答

6
"SELECT (a.col1 + b.col1) as 'summed value', a.col2, a.col3, a.col4 
FROM table_a as a 
JOIN table_b as b 
ON a.col4 = b.col5 
WHERE a.col4 = '$col4_val'" 
+0

感谢您的快速回复:) – Jubair 2010-06-21 15:47:04

+0

没有问题:d很高兴帮助 – Kyra 2010-06-21 15:48:30

+0

+1正确理解问题:) – ceteras 2010-06-21 16:40:40

0

OK没关系我想通了..

"SELECT sum(col1 + (SELECT col1 FROM table_b WHERE col5 = '$col4_val')) as col1, col2, col3, col4 FROM table_a WHERE col4 = '$col4_val'"