|
|
|
| не могу выполнитьь правильно запрос.
В начале написал это:
SELECT
`con`.`gr` AS `gr`,
`con`.`id` AS `id`,
`con`.`date2` AS `date2`,
`con_balance`.`cid` AS `cid`,
`con_balance`.`summa1` AS `summa1`,
`con_balance`.`summa2` AS `summa2`,
`con_balance`.`summa3` AS `summa3`
FROM `con`, `con_balance` WHERE
`gr` = 2 AND
`id` = `cid` AND
`date2` is NULL;
Выполняется нормально, все работает, сравнивает два поля id=cid.
Далее добавляю еще одну таблицу для участия в запросе:
SELECT
`con`.`gr` AS `gr`,
`con`.`id` AS `id`,
`con`.`date2` AS `date2`,
`con_balance`.`cid` AS `cid`,
`con_balance`.`summa1` AS `summa1`,
`con_balance`.`summa2` AS `summa2`,
`con_balance`.`summa3` AS `summa3`,
`contract_parameter_type_2`.`cid` AS `cid2`
FROM `con`, `con_balance`, `contract_parameter_type_2` WHERE
`gr` = 2 AND
`id` = `cid` AND
`cid2` = `cid` AND
`date2` is NULL;
Выдает ошибку:
Column 'cid' in where clause is ambiguous.
Как я понимаю это изза того что в двух таблицах два одноименных поля. Что надо сделать чтобы в одной из таблиц переменная в запросе использовало другое имя? | |
|
|
|
|
|
|
|
для: Ильдар
(22.04.2008 в 11:42)
| | В WHERE-конструкции следует явно прописать префиксы таблиц перед именами столбцов. | |
|
|
|
|
|
|
|
для: cheops
(22.04.2008 в 12:01)
| | Щас попробуем | |
|
|
|
|
|
|
|
для: Ильдар
(22.04.2008 в 12:49)
| | Получается, спасибо огромное! | |
|
|
|