2
我想更新一個表,但需要按店名分組。我希望具有相同商店名稱的所有分組條目都使用相同的ID進行更新。所有其他商店都應該有自己的ID。MySQL更新與分組和變量
所以,這就是我想:
SET @row_number:=0;
UPDATE `TABLE 75` as t1
INNER JOIN (SELECT search_shop FROM `TABLE 75` WHERE sap_id = '' GROUP BY search_shop) as t2
ON t1.search_shop = t2.search_shop
SET sap_id = CONCAT('XX',@row_number:[email protected]_number+1)
與此查詢每一個項目獲取是一個自己的ID - 即使是同名的人。
所以我想是這樣的:
shop_name - sap_id
sm_name_1 - XX1
sm_name_2 - XX2
sm_name_2 - XX2
sm_name_3 - XX3
等。
感謝您的幫助! :)
剛一說明,而不是加入表本身,你可以簡單地寫'那裏sap_id = '''。或者查詢比您在這裏顯示的更復雜?如果您必須更新單個表或您必須加入它,則可能很重要。 – fancyPants 2014-09-29 15:07:19
我需要加入它,因爲我無法通過group更新一行,可以嗎?連接的主要目的應該是獲得與組相同的命名條目,並使用相同的sap_id更新它們。但是 - 正如我在我的問題中提到的那樣 - 使用該查詢,無論是否存在其他相同的命名條目,每行都會獲得自己的ID。 – sleepless 2014-09-30 06:30:04
好吧,提供樣本數據和預期結果可能是一個好主意。你的加入和團隊真的沒有意義,沒有冒犯性,或者我根本不理解你想做什麼。 – fancyPants 2014-09-30 07:14:01