查询连接表以显示重复数据的原因。我尝试过group by,它只是对一列进行分组,并为其他列显示相同的数据,使其无用且不同。这是我正在运行的查询。我已经提取了运行此查询的3个表,它位于此处:http://pastie.org/4413153 这是查询:
select
pov.products_options_values_id,
pov.products_options_values_name,
pov.color_code,
inv.model,
inv.quantity,
img.id
from products_options_values as pov
left join tbl_inventory as inv
on pov.products_options_values_id = inv.color_id
inner join products_images img
on img.products_id = inv.products_id
where img.products_id = '301'
这是输出的屏幕截图。 (注意3条记录每次打印3次。)
我期望从这个查询得到的结果是:(截图)
这是将添加此查询的页面的屏幕截图。
抱歉屏幕截图不符合我要做的但你会得到的 图片。
颜色名称将在选择下拉列表中使用,相关的颜色十六进制值将在彩色框中使用。这些框的目的是当你将鼠标悬停在它上面时,左边的图像将变为我提到的图像id值在查询中需要的值。有一个ajax调用,它抓取图像ID值并在左侧显示其相关图像。
tbl_inventory及其数量计数的目的是,如果特定颜色的数量为0,则颜色及其相关的十六进制将不会在下拉列表或框中显示。
答案 0 :(得分:0)
实际上,没有重复。 3个“重复”记录各自具有不同的id
值。 (65,66,67)使每一个都独一无二。如果从SELECT子句中删除img.id
并添加DISTINCT,它将删除“重复”记录。
select distinct
pov.products_options_values_id,
pov.products_options_values_name,
pov.color_code,
inv.model,
inv.quantity
from products_options_values as pov
. . .
where img.products_id = '301'