我目前所面对的是从law_case大小写相匹配![在这里输入的形象描述] [1]使用INNER JOIN/JOIN多个查询
$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,并使用一段时间来获取每个network_member的不同member_name和url,或者谁的个人拥有与individual_expertise
表相同的expertise_id。
我是新来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'];
因为你是新来的加入,你知道哪些加入您需要使用您的具体情况? INNER JOIN,LEFT JOIN ..等等。我建议你仔细阅读一下Joins,找出你的情况需要什么。你可以从这里开始:http://dev.mysql.com/doc/refman/5.0/en/join.html和在这里:http://www.w3schools.com/sql/sql_join.asp – wribit