Обработка повторяющегося вопроса с именем столбца в запросе счета MariaDB - PullRequest
0 голосов
/ 29 октября 2019

Я получаю сообщение об ошибке в запросе, который я выполняю, чтобы получить счет в MariaDB. Это ошибка:

Код ошибки: 1060. Повторяющееся имя столбца 'id_number'

А это мой код SQL:

SELECT COUNT(*) as count FROM (
      SELECT * FROM ((cr.customers
        INNER JOIN (progress_notes_details
        INNER JOIN progress_notes ON progress_notes_details.progress_note_id = progress_notes.id_number) 
        ON customers.id_number = progress_notes.c_id)
        INNER JOIN open_balances ON progress_notes_details.id_number = open_balances.progress_notes_detail_id)
        INNER JOIN
          customer_payer_xref ON customers.id_number = customer_payer_xref.c_id
        WHERE
          (((progress_notes_details.qb_isbillable) IS NULL
            OR (progress_notes_details.qb_isbillable) <> 1)
            AND ((progress_notes_details.date_of_visit) BETWEEN coverage_start AND coverage_end)
            AND ((progress_notes_details.dynamics_status) = 3)
            AND ((customer_payer_xref.payer_id) = 23)
            AND ((customer_payer_xref.primary_secondary_account_type) = 1))
    ) AS qdat 

Можно ли это решить с помощью псевдонимов? Если так, мне неясно, куда их добавить. В основном запросе? В подзапросе?

Кроме того, чтобы уточнить, я только что унаследовал этот код - и да, он радует скобками.

Ответы [ 2 ]

1 голос
/ 29 октября 2019

Alias customers table as c and use it as c.id_number в одном из мест, где будет удалена эта дублирующаяся ошибка, поскольку это единственная таблица, которую вы используете несколько раз с idnumber, следовательно, дубликат

0 голосов
/ 29 октября 2019

Удалить внешний запрос:

SELECT COUNT(*)
FROM ((cr.customers . . .

Очевидно, у вас есть таблицы с одинаковым именем столбца. Это вызывает проблему с SELECT *.

. Все скобки, вероятно, не нужны и для JOIN s.

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