我試圖使用下面的查詢從圖像表中獲取圖像(可能會返回多個結果),然後將其插入產品表的字段圖像。因此,圖像表格可能有testsku
,url1
和testsku
,url2
和testsku
,url3
。然後我需要更新產品表,其中sku是testsku
,圖像字段將是url1$^$url2$^$url3
。另請注意,test-sku
圖像應與testsku
圖像連接。嘗試使用mySQL連接字段,然後插入到另一個表
INSERT INTO `products` (image) (SELECT images.sku, group_concat(images.image separator '$^$')
FROM `images`,`products`
GROUP BY images.sku)
WHERE (images.sku=products.sku
OR images.sku=CONCAT(products.style,'-',products.color))
AND products.sku='testsku'
請讓我知道我做錯了什麼,或者我該如何改變這個查詢來更新表。我知道這違背了關係表的目的,但是需要將所有URL在產品表中的圖像字段中連接起來。
編輯:
使用下面的語句,我能夠既「testsku」 URL和「testsku」的URL返回到相同的一行。不過,我仍然無法更新產品表來finus和更新與返回值的圖像字段。另請注意,我需要刪除'testsku'條款,以便它可以適用於所有skus。
SELECT p.sku,GROUP_CONCAT(i.image隔板 '$^$') FROM images
I,products
p WHERE(i.sku = p.sku OR i.sku = CONCAT(p.style,」 - ',p.color))AND p.sku ='testsku' GROUP BY p.sku
你得到的錯誤是什麼? –
您只指定更新一列'image',但您選擇了兩列(images.sku和組合concat)。這很可能會給你一個錯誤。要更新的列數和所選號碼必須匹配。 –