1

我不知道加入..
需要从一个表中选择所有行,其中一列等于另一个表中的某些内容..

像这样:

SELECT ALL FROM someTable 
WHERE COLUMN someColumn = '123' (IN A DIFFERENT TABLE) 

类似的东西..当然,ID需要匹配..

4

2 回答 2

5

只需使用INNER JOIN

SELECT * 
FROM SomeTable S
    JOIN SomeOtherTable S2 
        ON S.SomeKey = S2.SomeKey
WHERE S.SomeColumn = '123'

WHERE我对您的问题并不完全清楚,因此如果该子句代表您的JOIN标准,则您可能不需要该子句。

于 2013-05-28T03:32:27.000 回答
0
我的问题有点错误,让我澄清一下
tblplace
身份地点
1 伦敦
2 巴黎
3 纽约

tbl旅行者
tr_id tr_name id
1 约翰 3
2 杰克逊 2
3 苏珊娜 1
4 吉米 3
5 露西 2

问题是缺少纽约的一些数据:

巴黎杰克逊露西
纽约

我的代码(猜测while循环中有错误):

<?php
require_once("connMysql1.php");
$qry = "SELECT * FROM tblPlace WHERE tblPlace.id > 1 ORDER BY tblPlace.id";
$result = mysqli_query($db_link, $qry);
$qry1 = "SELECT tblPlace.id, tblPlace.Place, tbltraveller.tr_id, 
tbltraveller.tr_name, tbltraveller.id FROM tblPlace INNER JOIN tbltraveller ON 
tblPlace.id = tbltraveller.id WHERE tblPlace.id > 1 ORDER BY tbltraveller.id";
$result1 = mysqli_query($db_link, $qry1);
$no_of_row1 = mysqli_num_rows($result1);
$no_of_row = mysqli_num_rows($result);
echo "<table border=1 cellpadding=10>";
if ($no_of_row >0){
while ($row = mysqli_fetch_assoc($result)){
echo "<tr>";
echo "<td>";
echo $row['place']."<br>";
echo "</td>"."&nbsp;";
echo "<td>";
while ($row1 = mysqli_fetch_assoc($result1)){
if($row1['id'] == $row['id']){
echo $row1['tr_name']."&nbsp;&nbsp;&nbsp;";
}
}
echo "</td>";
"</tr>";
}
}
echo "</table>";
?>

`

于 2019-08-21T00:54:57.730 回答