MySQL таблицы к таблице SQL - PullRequest
       2

MySQL таблицы к таблице SQL

0 голосов
/ 11 января 2012

Я хочу [обновить] транзакцию_id из таблицы транзакций в таблицу cmas, но я что-то упустил ... не уверен, где ссылаться на таблицу cmas, чтобы она не выдавала ошибку #1054 - Unknown column 'cmas.property_id' in 'where clause'

INSERT INTO `cmas` (`transaction_id`)
SELECT `transaction_id`
FROM `transactions` WHERE transactions.property_id = cmas.property_id // this bit is wrong!

Ответы [ 3 ]

2 голосов
/ 11 января 2012

Поскольку вы упоминаете обновления в комментариях, это может быть то, что вы ищете:

UPDATE cmas, transactions
SET cmas.transaction_id = transactions.transaction_id
WHERE transactions.property_id = cmas.property_id
1 голос
/ 11 января 2012
INSERT INTO cmas (transaction_id)
SELECT transaction_id
FROM transactions,cmas
WHERE transactions.property_id = cmas.property_id
1 голос
/ 11 января 2012

Вы должны переписать это так:

INSERT INTO `cmas` (`transaction_id`)
SELECT `transaction_id`
FROM `transactions` WHERE transactions.property_id IN (select property_id from `cmas`)

Проблема в том, что в левой части нет выбора, поэтому выражение "Transactions.property_id = cmas.property_id" бессмысленно, потому что в cmas выбор не сделан.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...