代码之家  ›  专栏  ›  技术社区  ›  Feras Dwolfy

我见过很多问题模棱两可的案例,尝试了很多东西,但仍然不起作用

  •  -3
  • Feras Dwolfy  · 技术社区  · 7 年前

    我想知道,为什么在这种情况下,它总是说数量列是不明确的,有人能帮忙吗?

    SELECT SUM(AmountPaid),SUM(Quantity), ice_cream.IceCream
    FROM ice_cream 
    INNER JOIN ice_cream_ingredient ON (ice_cream.IceCreamID =
    ice_cream_ingredient.fkIceCreamID)
    INNER JOIN ingredients ON (ice_cream_ingredient.fkIngredientID =
    ingredients.IngredientID)
    INNER JOIN sales ON (sales.fkIceCreamID =
    ice_cream.IceCreamID)
    WHERE IceCream='Vanilla Dream'
    
    1 回复  |  直到 7 年前
        1
  •  3
  •   Gordon Linoff    7 年前

    你应该 总是 当查询中有多个表时,请限定列名。此外,学习使用表别名。

    不清楚什么是正确的限定名。这里有一个猜测:

    SELECT SUM(s.AmountPaid), SUM(s.Quantity), ic.IceCream
    FROM ice_cream ic INNER JOIN
         ice_cream_ingredient ici
         ON ic.IceCreamID = ici.fkIceCreamID INNER JOIN
         ingredients i
         ON ici.fkIngredientID = i.IngredientID INNER JOIN
         sales s
         ON s.fkIceCreamID = ic.IceCreamID
    WHERE ic.IceCream = 'Vanilla Dream';