当涉及到SQL时,我仍然是相当绿色的。下面的代码可以工作,但在复制并粘贴错误到其他工作之前,我想检查一下是否是最好的方法。
下面代码的思想是从PropertyID first Table中获取属性的名称,并使用PropertyID连接它们。在本例中,我实际上使用了表B中的每个字段(例如*)。
所以更多的是同行评议而不是任何事情。
SELECT TblA.propertyid AS PD,
TblA.propertyname AS PD,
TblB.*
FROM tbpropertydetails AS TblA
INNER JOIN tbpropertydetailssafeguarding AS TblB
ON TblA.propertyid = TblB.propertyid
WHERE TblA.regionid <> '0'
ORDER BY TblA.propertyid ASC 我正在用VB.net编程,但这是真正独立的SQL。
发布于 2014-01-02 11:28:44
通常,您希望对内部连接保持谨慎,因为您可能会丢失潜在的记录集。
例如,TbPropertyDetails中没有条目(没有匹配的PropertyId)的记录将消失。连接表中可能没有相应的条目,因为此信息是在稍后的日期输入的。
首先尝试使用LEFT JOIN,然后决定如何处理空记录,即主表中那些在连接表中具有匹配记录的记录。
https://stackoverflow.com/questions/20881459
复制相似问题