我想在同一个数据库中对两个表进行简单连接。
预期结果是: 从表T_Dree中获取与表T_Tree中的TREE_CATEGORY相同的所有Node_ID
我的T_Documents表格:
+--------+----------------+---------------------+
| Doc_ID | TREEE_CATEGORY | Desc |
+--------+----------------+---------------------+
| 89893 | 1363 | Test |
| 89894 | 1364 | with a tab or 4 spa |
+--------+----------------+---------------------+
T_Tree Tabel
+----------+-------+
| Node_ID | Name |
+----------+-------+
| 89893 | Hallo |
| 89894 | BB |
+----------+-------+
Doc_ID是T_Documents表中的主键,Tree_Category是外键
Node_ID是T_Tree Tabel
中的主键SELECT DBName.dbo.T_Tree.NODE_ID
FROM DBName.dbo.T_Documents
inner join TREE_CATEGORY on T_Documents.TREE_CATEGORY = DBName.dbo.T_Tree.NODE_ID
我无法弄清楚如何正确地做到这一点..这是否是正确的方法?
答案 0 :(得分:2)
你很亲密。试试这个:
SELECT t2.NODE_ID
FROM DBName.dbo.T_Documents t1
INNER JOIN DBName.dbo.T_Tree t2
ON t1.Doc_ID = t2.NODE_ID
评论:
JOIN
子句中指定表名,并使用用于加入ON
子句的列。答案 1 :(得分:0)
您的 SQL 应为:
SELECT DBName.dbo.T_Tree.NODE_ID
FROM DBName.dbo.T_Documents d
inner join T_Tree t on d.Doc_ID = t.Node_ID
请记住:您加入关系(表格),而不是字段。
此外,要使其正常工作,您需要在Node_ID
和Doc_ID
字段上设置常用值。也就是说,对于Doc_ID
表T_Documents
中的每个值,Node_ID
表的T_Tree
字段中的值必须相等。