在不使用连接的情况下加入多个表

时间:2015-06-08 06:54:24

标签: sql-server-2008

我有两张表,比如

StudPersonalinfo
-----------------
studid,studname,father name,address,state,city,ExtraCurricularActivities 

另一张表是

Mark  
------------------
studid,studname,m1,m2,m3

有没有其他方法可以在不使用连接条件的情况下连接这两个表? 任何人都可以帮助我..

4 个答案:

答案 0 :(得分:1)

请尝试此Sql View

第1步创建带连接的视图

public function getDistanceBetweenTwoPoints($point1 , $point2){
    // array of lat-long i.e  $point1 = [lat,long]
    $earthRadius = 6371;  // earth radius in km
    $point1Lat = $point1[0];
    $point2Lat =$point2[0];
    $deltaLat = deg2rad($point2Lat - $point1Lat);
    $point1Long =$point1[1];
    $point2Long =$point2[1];
    $deltaLong = deg2rad($point2Long - $point1Long);
    $a = sin($deltaLat/2) * sin($deltaLat/2) + cos(deg2rad($point1Lat)) * cos(deg2rad($point2Lat)) * sin($deltaLong/2) * sin($deltaLong/2);
    $c = 2 * atan2(sqrt($a), sqrt(1-$a));

    $distance = $earthRadius * $c;
    return $distance;    // in km
}

第2步在单个查询中使用此视图,如下所示。

CREATE VIEW StudentDetails
As
SELECT 
    t1.studID, 
    t2.studName,  
    t2.Mark1, 
    t2.Mark2  
FROM 
    Table1 t1
    LEFT JOIN Table2 t2 ON t1.column = t2.column

答案 1 :(得分:0)

您也可以使用WHERE子句来执行此操作:

SELECT *
FROM StudPersonalinfo S, Mark M
WHERE S.studid=M.studid

我仍然建议使用JOIN。这是最好的做法。

答案 2 :(得分:0)

使用UNION而不是JOIN。也可以使用逗号作为

1 /

SELECT * 
    FROM A UNION B 
WHERE condition

2 /

SELECT * 
   FROM A,B 
WHERE condition

答案 3 :(得分:0)

从emp中选择empno 相交 从audit_emp中选择empno

选择* 来自客户 存在的地方(选择* 从order_details WHERE customer.customer_id = order_details.customer_id);

相关问题