如何选择(所有)表 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 相同的另一行的主要内容,如果未能解决你的问题,请参考以下文章