簡體   English   中英

使用INNER JOIN / JOIN進行多個查詢

[英]Use INNER JOIN / JOIN for multiple query

目前,我要匹配的是law_case的大小寫![在此處輸入圖片描述] [1]

$query1 = "SELECT * FROM law_case WHERE id =?";
$query1vals = array($_GET['id']);
$ids = $adb->selectRecords($query1, $query1vals, false);
$a = $ids['case_type_id'];
$b = $ids['funding_pref'];
#
$query2 = "SELECT type_name FROM case_type WHERE id =?";
$query2vals = array($a);
$ids1 = $adb->selectRecords($query2, $query2vals, false);
$d = $ids1['type_name'];
#
$query3 = "SELECT * FROM expertise WHERE expertise_desc =?";
$query3vals = array($d);
$ids2 = $adb->selectRecords($query3, $query3vals, false);
$c = $ids2['id'];
#
$query4 = "SELECT * FROM individual_expertise WHERE expertise_id =?";
$query4vals = array($c);
$ids3 = $adb->selectRecords($query4, $query4vals, false);
$e = $ids3['individual_id'];
#
$query5 = "SELECT * FROM individual WHERE id =?";
$query5vals = array($e);
$ids4 = $adb->selectRecords($query5, $query5vals, false);
$f = $ids4['network_member_id'];
#
$query6 = "SELECT * FROM network_member WHERE id =?";
$query6vals = array($f);
$ids5 = $adb->selectRecords($query6, $query6vals, false);

而且它所做的只有一個network_member。 我想用INNER JOIN,JOIN或LEFT JOIN和使用,而只看得到不同MEMBER_NAME和url每個network_member或誰的人有來自同一expertise_id individual_expertise表。

我是JOIN新手,並嘗試過此代碼,但它不起作用:

$sql = "SELECT member_name, url
FROM individual_expertise
LEFT JOIN individual
USING (individual_id)
LEFT JOIN network_member
USING (network_member_id)
WHERE expertise_id = ?";
$ids3 = $adb->selectRecords($sql, $query4vals, false);

echo $ids3['member_name'];

您需要獲得JOIN類型的概述。 您必須根據您的邏輯需求使用INNER, LEFT, RIGHT, FULL連接來構建查詢。 您可以假設條件語句中的INNER聯接等於&&AND運算符,我的意思是兩個表中的記錄必須匹配。 同時, LEFT將從聯接的左表返回所有行,並從聯接的右表返回匹配行。 RIGHTLEFT倒數。 FULL join是||的示例 或條件運算符中的運算符中的OR 我的意思是兩個表中都有一個匹配。 因此,您必須根據所需的邏輯加入。

看這里

您知道INNER JOIN和LEFT JOIN之間的區別嗎? 我想你不會。 您需要在此處進行內部聯接。

我認為這是您問題的正確解決方案:

SELECT
    network_member.member_name,
    network_member.url
FROM
    network_member
INNER JOIN
    individual ON individual.network_member_id = network_member.id
INNER JOIN
    individual_expertise ON individual_expertise.individual_id = individual.id
WHERE
    individual_expertise.expertise_id = ?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM