У меня есть три таблицы, t1
, t2
и t3
.MySQL: ЕСЛИ t1.row1 = t1.row2 INSERT INTO t2
В таблице 1 представлены «списки» и изображения, связанные с листингами через идентификатор. Они оба определить, посмотрев на таблице type
id: 1
postId: NULL
type: listing
id: 2
postId: NULL
type: listing
id: 3
postId: 1
type: image
id: 4
postId: 1
type: image
id: 5
postId: 2
type: image
2 также содержит перечень и изображения ассоциации, которая выглядит следующим образом:
id: 1
listingId: 1
type: imageasoc
imgId: 3
id: 2
listingId: 1
type: imageasoc
imgId: 4
id: 3
listingId: 2
type: imageasoc
imgId: 5
Когда t1.id
матчи t1.postId
, я хочу, чтобы добавить новую строку в t2
, который будет включать в себя t1.id
и id
из t1.postId
строки, плюс строку «imageasoc
» (как вы увидите в приведенном выше примере)
У меня есть код ниже, но мне нужно это превращается в INSERT INTO
заявление, я пытался, но синтаксис/форматирование всегда неправильно :(
UPDATE t2
LEFT JOIN
t1
ON t1.id = t1.postId
SET t2.listingId = t1.id, t2.type = 'imageasoc', t2.imgId = id of t1.postID
WHERE t1.type = 'image'
Я надеюсь, что я объяснил себе достаточно, спасибо!
Сначала вы должны отделить свои списки и изображения –
Я не думаю, что я понимаю ваш вопрос. Каковы отношения этих таблиц? Где t3? Что ты пытаешься сделать? – Tin