SQL查询,从多个表中获取数据并查询结果

时间:2014-05-17 06:02:45

标签: mysql sql

我有一个表T1,其中包含其中A为PK的列(A,B,C,D)。

我还有一些桌子。我想从这些表中获取一些数据。 我根据我的sql查询从这些表中获取数据。 Sql查询(query1)如下

select t3.col1 as A, t3.col4 as F, t4.col as H
from t3, t4
where  t3.col1 = t4.col2;

现在 我想从表T1及以上的query1结果中获取数据。

select B , C , D , F,  H
from T1, Temp
where t1.A = Temp.A;

其中Temp是上面的sql query1结果。

我怎么能做到这一点?

任何建议。

3 个答案:

答案 0 :(得分:0)

试试这个

SELECT t1.B as B, t1.C as B, t1.D as D, t3.col4 as F, t4.col as H
FROM t1, t3, t4
WHERE t1.A=t3.col1 AND t3.col1=t4.col2

答案 1 :(得分:0)

我建议使用显式连接,如下所示:

select t1.B, t1.C, ..., t3.col1 as A, t3.col4 as F, t4.col as H
from t3
join t4
    on t3.col1 = t4.col2
join t1
    on t1.A = t3.col1;

答案 2 :(得分:0)

使用内部联接

考虑这个问题

让我们说两张桌子 第一个是“订单” 和 第二是“客户”

SELECT Orders.OrderID(table_name.column_name),Customers.CustomerName(table_name.column_name),Orders.OrderDate(table_name.column_name) FROM订单(1st table_name) INNER JOIN客户(2nd table_name) ON Orders.CustomerID = Customers.CustomerID(必须匹配字段才能加入);