2012-08-08 44 views
0

什麼會導致連接表的查詢顯示重複數據。我試過分組,它只是分組一列,並顯示其他列相同的數據,使它無用,明顯不會工作。這是我正在運行的查詢。我已經提取了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次。) enter image description here

結果i。從這個查詢期望的是:(截圖) enter image description here

這裏是該查詢將被添加的頁面的屏幕截圖。

對不起屏幕截圖不會匹配我想要做的,但你會得到 的圖片。

enter image description here

顏色名稱將在選擇下拉菜單中使用和相關的顏色的十六進制值將在彩色框使用。這些框的用途是,當您將鼠標移到該框上時,左側的圖像將更改爲我提到的圖像ID的值需要在查詢中。有一個ajax調用來獲取該圖像的id值並在左側顯示其相關圖像。

tbl_inventory及其數量計數的目的是,如果某個特定顏色的數量爲0,那麼該顏色及其關聯的十六進制在下拉框或框中將不可見。

+0

很難說沒有更多的信息,但是即興的猜測是德外連接tbl_Inventory添加pov.products_options_values_id和inv.color_id的選擇列表,看看我是對的。 – 2012-08-08 17:33:38

回答

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' 
+0

我實際上需要這些id值打印 – 2012-08-08 19:34:41

+0

@SarmenB。,我猜我不知道你在問什麼。也許如果你編輯你的問題來包含你的預期結果,我可以進一步提供幫助。 – 2012-08-08 19:41:09

+0

我編輯了這個讓我知道,如果它需要更多的信息:) – 2012-08-08 20:25:53