从Mysql查询中检索数据的问题

时间:2015-07-13 06:29:32

标签: mysql

以下是我的查询,我需要获取特定项目类别的#canvas:before { content: ""; position: absolute; width: 200%; height: 200%; top: -50%; left: -50%; z-index: -1; background: url(http://placehold.it/1600x800) 0 0 repeat; -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); } parentid别名。但是,我目前只能获取id而不是别名。

我遇到的问题是如何同时获取id别名和parentid别名。例如,如果一个项的id为2099且父id为5,我想获得匹配id的别名和该匹配id的父id别名。

这是我的代码:

id

我的表结构是:

enter image description here

我想要的结果是:

SELECT a.string, b.id, b.alias ,c.title, c.alias as calias, c.parent_id as pid
        FROM tbl_fields a, tbl__content b ,tbl_categories c
        WHERE a.fields_id='75' AND a.value_string = 'steel' AND a.content_id = b.id AND b.categories_id = c.id

3 个答案:

答案 0 :(得分:1)

因为它只是你想看到的一个层次结构级别(即没有递归),你所要做的就是加入类别表两次:

select content.item, cat_parent.alias, cat_self.alias
from content
join categories cat_self on cat_self.id = content.categories_id
join categories cat_parent on cat_parent.id = cat_self.parent_id
where content.id in 
(
  select content_id 
  from fields 
  where fields_id = 75
);

答案 1 :(得分:0)

在" From"之间添加空格和"字段a"。

使用

FROM fields a

而不是

FROMfields a

答案 2 :(得分:0)

重命名字符串列名称。您不能将数据类型用作列名。

参考Naming scheme of database table fields