使用行值选择查询作为列SQL Server

时间:2016-08-11 22:02:55

标签: sql-server-2012

我正在尝试使用SQL Server构建数据集。

我有以下表格

  • Product - id,name
  • ProductIngredient - id,productId,ingredientId
  • Ingredient - id,name
  • Allergens - id,name

以下是我需要的图表和预期输出

database tables

这是我试过的

select distinct 
    p.*, 
    if(i.name = 'Gluten'  ,'No' ,'Yes') As Milk, 
    if(i.name = 'Nut'  ,'No' ,'Yes') As Butter, 
    if(i.name = 'Dairy'  ,'No' ,'Yes') As Salt 
from 
    product p, ingredient i, productingredient pi  
where 
    pi.productID = p.id 
    and i.id = pi.productid;

但问题是它给我带来了错误的结果。过去两天我正在敲打这个问题。

0 个答案:

没有答案