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

だから今私が欲しいのは、一意のIDが含まれている場合にのみtbl_scriptsからの行ですgroup_idallowed_group_id

私が試したのはこれですが、どこにも近くありません....これは完全に間違っていることを私は知っています

SELECT script_name FROM tbl_scripts WHERE script_unique_id = allowed_group_id
4

2 に答える 2

1

JOIN2つのテーブル:

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 FiddlewithDemoを参照してください

結合構文の学習についてサポートが必要な場合は、ここに結合の優れた視覚的説明があります

Aは、テーブルに一致する行があるかどうかに関係なく、テーブルLEFT JOIN内のすべての行を返します。一致する行のみが必要な場合は、tbl_scriptstbl_allowed_group_idsINNER JOIN

于 2013-01-15T15:48:21.753 に答える