无法在MySQL中找出正确的子查询(?)

时间:2017-08-02 12:39:33

标签: mysql subquery

我在table1中有一个字段,其中包含table2的ID,用逗号分隔。

现在在一个简单的查询中,我可以轻松获取ID(例如'1,2,5,8,9'),但我希望看到table2中的关联值。 (例如1 =红色,2 =蓝色,5 =黄色......)

我尝试了这样的查询:

var viewModel = {
        makeInvalid : ko.observable(false),        
};

ko.applyBindings(viewModel, document.getElementById("chk1"));

但我只得到'title'的第一个值,而不是全部。

对此的任何帮助都非常感谢。

编辑:

对不起,我觉得我想要的不够清楚。这是一个例子:

table1(人)

id name haircolors

  1. thomas 1,3
  2. Anja 2
  3. Fred 2,3,4
  4. Sascha 1
  5. table2(颜色)

    1. 红色
    2. 金发
    3. 褐色
    4. 选择haircolors FROM table1 wold只给我:

      haircolors

      1. 1,3
      2. 2
      3. 2,3
      4. 1
      5. 但我想:

        名称发色

        1. Thomas red,black
        2. Anja blond
        3. 弗雷德金发,黑色,棕色
        4. Sascha red
        5. 我希望这是一个更好的解释;)

          由于

2 个答案:

答案 0 :(得分:1)

这是你想要的吗?

<h2>¿Este cliente esta relacionado con un proyecto existente?</h2>
<form  enctype="multipart/form-data" id="redirectProject" name="redirectProject">
    <div class="form-group">
        <div class="radio">
            <label><input type="radio" name="optRadio">Si</label>
        </div>
        <div class="radio">
            <label><input type="radio" name="optRadio">No</label>
        </div>
        <input type="submit" value="Avanzar" id="redirectProjectsubmit" class="btn btn-danger btn-md">
        <br><br><br>
    </div>
</form>

编辑:

理解。那么,请试试这个。

SELECT *
FROM  hopa_art_species t1, hopa_art_species_categories t2
WHERE FIND_IN_SET( t2.id, t1.categories ) > 0

答案 1 :(得分:0)

你应该这样做:

SELECT sp.id, ( SELECT title FROM hopa_art_species_categories as ca1 WHERE ca1.id = sp.id ) AS ca 
FROM hopa_art_species as sp

您也可以将其作为JOIN:

    SELECT sp.id, ho.title 
    FROM hopa_art_species as sp
    JOIN hopa_art_species_categories ho
    ON sp.id=ho.id