1

我有一张像

tbl_scripts

script_unique_id | system_id | script_name
+-----------------------------------------+
12345            |  89784    |   Demo

另一张桌子是

tbl_allowed_group_ids

system_id | script_unique_id |allowed_group_id
+---------------------------------------------+
89784       12345             56987

所以现在我想要的是tbl_scripts只有group_id当唯一 ID 在allowed_group_id

我试过的是这个,但离它还很远……我知道这是完全错误的

SELECT script_name FROM tbl_scripts WHERE script_unique_id = allowed_group_id
4

2 回答 2

1

JOIN两张表:

SELECT t1.script_name
FROM tbl_scripts t1
INNER JOIN tbl_allowed_group_ids  t2 ON t1.script_unique_id = t2.allowed_group_id
于 2013-01-15T15:47:14.753 回答
1

您将需要JOIN以下表格:

select *
from tbl_scripts s
left join tbl_allowed_group_ids g
  on s.system_id = g.system_id 
  and s.script_unique_id = g.script_unique_id 

请参阅带有演示的 SQL Fiddle

如果您在学习连接语法方面需要帮助,这里有一个关于连接的可视化解释

ALEFT JOIN将返回表中的所有行,tbl_scripts无论它在表中是否有匹配的行tbl_allowed_group_ids。如果您只想匹配行,那么您可以使用INNER JOIN

于 2013-01-15T15:48:21.753 回答