![](/img/trans.png)
[英]How select rows with no matching entry in another table even one of table is empty
[英]How to select rows with matching rows in another table
我有两张桌子。
First tabel called:(data):
----------------------------------------
id link number isik status
----------------------------------------
1 /link 78788 56677 55
Second table called:(test)
----------------------------------------
id kood status
----------------------------------------
1 56677 111
两个表中唯一相似的是 isik 和 kood
如何从第一个表中获取所有行,其中isik(First table) = kood(Second table)
?
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT data * FROM data INNER JOIN test ON data.isik = test.kood";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "Numb: " . $row["number"]. " - Name: " . $row["isik"]. " " . $row["link"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
但我得到 0 结果
您可以使用内部联接将表联接在一起,并仅从第一个表中选择行。 这将仅选择第二个表具有isik
匹配值的isik
。
SELECT `data`.* FROM `data` INNER JOIN `test` ON `data`.`isik` = `test`.`kood`
SELECT *
FROM First a
WHERE EXISTS (SELECT 1
FROM Second b
WHERE a.isik = b.isik);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.