Php Mysql通过比较另一个表中的值从表中选择

Php Mysql通过比较另一个表中的值从表中选择,php,mysql,Php,Mysql,我有两张桌子,第一张和第二张 第一张表: ID NAME ADDRESS 1 test testing address 2 test1 testing address 3 test2 testing address 4 test3 testing address 第二张表: T_ID Partner_id date 1 2 12345678 3 4 3

我有两张桌子,第一张和第二张

第一张表:

ID NAME     ADDRESS
1  test     testing address
2  test1    testing address 
3  test2    testing address
4  test3    testing address
第二张表:

T_ID      Partner_id      date
  1          2          12345678
  3          4          32164584
如果给定了输入T_id。然后获取相应的Partner_id,并将其与第一个表中的id进行比较,并选择相应的行。 你能告诉我吗。 在php中,我可以用两个查询来编写它,但我希望它是在一个查询中

php中的查询:

$q=mysqli_query($conn, "SELECT Partner_id from second where T_ID=1");
$qa=mysqli_fetch_array($q);  
$w=mysqli_query($conn, "SELECT * from first where ID=$qa[0]");

但是,如何组合这两条语句?

可以使用带有联接操作的查询返回指定的结果

   SELECT * FROM first WHERE ID IN( SELECT Parent_id FROM second WHERE T_ID = 1 )

     or 

    SELECT * FROM first WHERE ID = ( SELECT Parent_id FROM second WHERE T_ID = 1 )
SELECT f.*
  FROM first f
  JOIN second s
    ON s.Partner_id = f.ID
 WHERE s.T_ID=1
请注意,如果第一个查询返回多行,则可能会返回比原始查询更多的行。(也就是说,我们不假设
t\u ID
中是唯一的,或者具有给定
t\u ID
值的每一行对于
Partner\u ID
具有相同的值)


还有其他查询模式将返回相同的结果,但联接操作是标准模式。

尝试使用union,请参见此

其中,SQL UNION运算符组合两个或多个SELECT语句的结果

SELECT * FORM first_table AS f
JOIN second_table AS s
ON s.parent_id =f.id
WHERE s.T_ID = $id