如何选择(所有)表 1 中的一行,该行具有与表 2 相同的另一行

Posted

技术标签:

【中文标题】如何选择(所有)表 1 中的一行,该行具有与表 2 相同的另一行【英文标题】:How to select (everything) one row in table 1 which has another row that is the same as table 2 【发布时间】:2018-09-06 21:42:12 【问题描述】:

我是初学者,我需要完成这个 SQL 语句。所以,我需要知道您将如何搜索名称,然后在同一张表上,选择与名称关联的 id。然后从另一个具有相同 ID 的表中获取该行。我想要它,所以用户看不到 id,只需要输入名称。

示例:

table1       table2
 name       member_id
  id        other-info
 other
 info

会不会是这样的:

SELECT table1.name, table1.id, table1.other-info, 
       table2.member_id, table2.other-info
FROM table1 INNER JOIN table2
ON table1.id, table2,member_id

但是,我该如何输入我的名字?

(试过了但什么也没做,没有输出) 这是我的连接.php

<?php
$user="root";
$servername = "localhost";
$dbname="test";
$tablename="table1, table2";
$pass="";

$conn= new mysqli($servername,$user,$pass,$dbname);
if (!$conn)
    die("Connection Failed:".mysqli_connect_error());

else
    echo(" Connected to the database ");

这是我的 display.php

SELECT table1, table2
FROM table1 t1 INNER JOIN table2 t2
ON t1.id= t2.member_id
where t1.name = 'my own example'

【问题讨论】:

【参考方案1】:

要搜索特定名称,您需要将条件放在连接末尾,使用表别名是一个好习惯

SELECT t1.name, 
t1.id, 
t1.other-info,
 t2.member_id, t2.other-info
FROM table1 t1 INNER JOIN table2 t2
ON t1.id= t2.member_id
where t1.name = 'Tuhin' //put here your searching name

【讨论】:

@userpyth 我没有正确理解你的意思,但在我看来你想写 inselect 像 select t1.*,t2.* 这个,顺便说一句,如果我的回答有帮助,请接受答案跨度> 我试过这段代码,没有错误,但也没有任何显示。 @userpyth 你改变了 t1.name ='' 你的搜索名称???或与我们分享一些示例数据,以便我们更轻松地进行指导 我确实改了名字,你想让我怎么分享数据,因为这里有限制,你想让我再问一个问题吗? @userpyth 我认为您不需要打开另一个问题,只需编辑问题并放置两个表格示例数据和预期输出

以上是关于如何选择(所有)表 1 中的一行,该行具有与表 2 相同的另一行的主要内容,如果未能解决你的问题,请参考以下文章

excel中,表1A列 包含表2A列所有内容,如何筛选出表1与表2相同的所有内容

SQL join:当值不在一组值中时如何选择

如何根据多个最大列值选择一行?

内部联接选择结果与表

如何选择具有最新日期的行并根据该行计算另一个字段

如何循环遍历表的所有行? (MySQL)