连接由第三个表的不同列链接的两个表

时间:2015-05-23 16:11:04

标签: mysql

我不确定如何标题。

我继承了一个数据库,该数据库具有来自第三个表的用户(id),允许通过名为Leads_table的第二个表调用与核心数据表(让我们调用core_table)相关联的short_table。

当我们将客户从一个客户移交给另一个客户时,我需要能够编辑和更改用户ID。这是我在表格中的内容

core_table     id / first_name / last_name

leads_table     id / cand_id

short_table     id / lead_id / timestamp / user_id

//Here is my code

$cand_sql = '
Select 
core_table.id,
core_table.first_name,
core_table.last_name,
short_table.user_id,
short_table.lead_id
From core_table
LEFT JOIN leads_table ON ( core_table.id = leads_table.cand_id) 
LEFT JOIN short_table ON (short_table.lead_id = leads_table.id)
WHERE
core_table.id = "' . $cand_id . '"';
$cand_res = mysql_query($cand_sql,$test_db);
$cand = mysql_fetch_array($cand_res);

//Here is a small piece of my edit form code to send the user_id info    
Staff:<input type="text" name="staff_id" id="staff_id" 
value="<?php echo $cand[staff_id]; ?>" />

// Here is the process form code that is messed up

if($_POST['staff_id'] != ''){
  $sql1 = 'UPDATE short_table
           SET user_id=  ("'.$_POST['staff_id'].'")
           WHERE short_table.lead_id = leads_table.id AND 
           leads_table.cand_id = . "' . $_POST['cand_id'] . '"';
           $res1 = mysql_query($sql1,$test_db);
}

//执行此代码并尝试更改用户ID时,我没有对短表的用户字段进行任何更改。关于我错在哪里的任何想法?

我只是不确定如何对此进行编码以便能够更改short_table中的user_id并确保它链接到我在core_table中的相同候选者。这有意义吗?任何帮助将不胜感激。

0 个答案:

没有答案