首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在2个不同的数据库数据库中使用2个相等的字段

问在2个不同的数据库数据库中使用2个相等的字段
EN

Stack Overflow用户
提问于 2018-07-27 16:39:19
回答 1查看 48关注 0票数 0

我会尽可能解释清楚这一点。我正在创建一个翻译函数,它基于每个具有编码值的文本。例如:某个页面的标题有一个代码和一个与该代码相关联的值。

我有两个表: translations:保存所有代码和值的地方,还有一个表,其中只有代码本身,它通过一个函数遍历转换表:

代码语言:javascript
复制
public function T($code) {
      $value = $code;
      $db_value = $this->db->getRow("SELECT value FROM translations WHERE code = '".$code."'");
      if($db_value) {
        $value = $db_value['value'];
      }
            return $value;
        }

GetRow是一个自定义函数,用于从表中选择单个列:

代码语言:javascript
复制
function getRow() {
    $func_num_args = func_num_args();
    $func_get_args = func_get_args();
    if ($func_num_args == 0) {
        return null;
    } else if ($func_num_args == 1) {
        $this->query($func_get_args[0]);
    } else {
        $args = array();
        $query = $func_get_args[0];
        unset($func_get_args[0]);
        foreach ($func_get_args as $arg) {
            if (is_string($arg) && !is_numeric($arg)) {
                $args[] = mysqli_real_escape_string($this->conn, $arg);
            } else {
                $args[] = $arg;
            }
        }
        $this->query(vsprintf($query, $args));
    }
    return ($this->rows() ? $this->fetch() : null);
}

现在使管理页面的网站我遇到了一个问题,我希望文本的代码被隐藏,并显示代码所代表的文本。我当前的选举看起来有点像这样:它不工作,但是,它只选择列,但没有找到任何行:

代码语言:javascript
复制
  SELECT vc.*,
       t.code,
       t.value
  FROM vakances_card AS vc 
  JOIN translations AS t 
  ON vc.title = t.code 
  AND vc.descr = t.code
EN

回答 1

Stack Overflow用户

发布于 2018-07-27 17:59:28

我不确定你到底想要达到什么目的。您可以将查询更改为

代码语言:javascript
复制
SELECT vc.*,
   t.code,
   t.value
FROM vakances_card AS vc 
JOIN translations AS t 
ON vc.title = t.code 
AND vc.descr = t.code

添加到以下查询

代码语言:javascript
复制
SELECT vc.*,
   t.code,
   t.value
FROM vakances_card AS vc 
LEFT JOIN translations AS t 
ON vc.title = t.code 
AND vc.descr = t.code

或者可以更改为

代码语言:javascript
复制
SELECT vc.*,
   t.code,
   t.value
FROM vakances_card AS vc 
RIGHT JOIN translations AS t 
ON vc.title = t.code 
AND vc.descr = t.code
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51554100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档