简体   繁体   English

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

[英]SQL Query, Get data from multiple tables and query result

I have a table T1, which contains which contains columns (A , B, C ,D) in which A is PK. 我有一个表T1,其中包含包含A为PK的列(A,B,C,D)。

And I have some more tables. 我还有一些桌子。 And I want to get some data from these tables. 我想从这些表中获取一些数据。 I get the data as per my sql query from these tables. 我从这些表中按照我的sql查询获取数据。 Sql query (query1) is as follows SQL查询(query1)如下

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

Now I want to get data from Table T1 and above query1 result. 现在,我想从表T1和以上query1结果中获取数据。

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

where Temp is the above sql query1 result. 其中Temp是上面的sql query1结果。

How I can achieve this? 我该如何实现?

Any suggestions. 有什么建议么。

try this 尝试这个

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

I'd suggest using explicit join as in: 我建议使用显式联接,如下所示:

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;

Use inner join 使用内部联接

consider this exapmle 考虑这个例子

lets say two table 1st one is "Order" and 2nd is "Customer" 假设有两个表,第一个是“ Order”,第二个是“ Customer”

SELECT Orders.OrderID(table_name.column_name), Customers.CustomerName(table_name.column_name), Orders.OrderDate(table_name.column_name) FROM Orders(1st table_name) INNER JOIN Customers(2nd table_name) ON Orders.CustomerID=Customers.CustomerID(Must be matching field for joining); SELECT Orders.OrderID(表名称。列名称),Customers.CustomerName(表名称。列名称),Orders.OrderDate(表名称。列名称)FROM Orders(第一个表名称)是要加入的匹配字段);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM