MySQL запрос: как исправить ошибку 1052 (неоднозначный столбец)
Я продолжаю получать сообщение об ошибке при выполнении обоих следующих запросов, что CUST_NUM является неоднозначным. Как я могу это исправить?
SELECT INV_NUM, CUST_NUM, CUST_LNAME, CUST_FNAME, INV_DATE, INV_AMOUNT
FROM CH08_INVOICE i
INNER JOIN CH08_CUSTOMER c1 ON (i.CUST_NUM = c1.CUST_NUM)
WHERE CUST_BALANCE>=1000;
SELECT CUST_LNAME, CUST_FNAME
FROM CH08_CUSTOMER c1 JOIN CH08_CUSTOMER_2 c2
ON (c1.CUST_LNAME = c2.CUST_LNAME AND c1.CUST_FNAME = c2.CUST_FNAME);
2 ответа
Решение
SELECT i.INV_NUM, i.CUST_NUM, i.CUST_LNAME, i.CUST_FNAME, i.INV_DATE, i.INV_AMOUNT FROM CH08_INVOICE i INNER JOIN CH08_CUSTOMER c1 ON (i.CUST_NUM = c1.CUST_NUM) WHERE i.CUST_BALANCE>=1000;
SELECT c1.CUST_LNAME, c1CUST_FNAME FROM CH08_CUSTOMER c1 JOIN CH08_CUSTOMER_2 c2 ON (c1.CUST_LNAME = c2.CUST_LNAME AND c1.CUST_FNAME = c2.CUST_FNAME);
Пожалуйста, проверьте этот запрос
Неоднозначный столбец означает, что база данных не знает, какую таблицу она должна использовать.
Попробуйте использовать
SELECT INV_NUM, i.CUST_NUM ...
или же
SELECT INV_NUM, c1.CUST_NUM ...
для простоты определения таблицы.