2016-04-06 31 views
-1

我有兩個表。如何在另一個表中選擇具有匹配行的行

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的和沽

我怎樣才能得到所有從第一個表其中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

+0

我已經試過內接頭,雙查詢 –

+0

它應該是'選擇數據。*''不選擇數據*'。 –

回答

0

可以聯合起來使用內部聯接的表,並從第一臺只選擇行。這將只選擇其中第二個表的匹配值爲isik的行。

SELECT `data`.* FROM `data` INNER JOIN `test` ON `data`.`isik` = `test`.`kood` 
+0

這會給0結果。 –

+0

@Gunarves我注意到你接受了答案。是否將其更改爲'data。*'解決問題? –

0
SELECT * 
FROM First a 
WHERE EXISTS (SELECT 1 
      FROM Second b 
      WHERE a.isik = b.isik); 
相關問題