Join производит дублирующиеся строки и игнорирует оператор Where

0

У меня две таблицы, и когда я их объединяю, запрос приводит к получению повторяющихся строк в моих результатах.

Таблица 1 Первичный идентификатор повторяется снова и снова.

Предложение Where также игнорируется. Он возвращает строки, которые имеют два поля в cmID cmIDtwo, если одно из них имеет значение, оно не должно возвращать их

Я попробовал внутреннее соединение, но не могу заставить его работать правильно.

Моя цель состоит в том, чтобы посмотреть таблицу заказов и объединить любые существующие вопросы, поставленные клиентом по этому заказу, используя их идентификатор.

Table 1:
ccOrder
ccOrder.ID,
ccOrder.cmID,
ccOrder.cmIDtwo,
ccOrder.ccShippingEmail 

Table 2
contactManager.contactManagerId
contactManager.email



My Query:

    SELECT 
    ccOrder.ID,
    ccOrder.cmID,
    ccOrder.cmIDtwo,
    ccOrder.ccEmail,
    ccShippingEmail, 

    contactManager.email 

    FROM ccOrder

    JOIN contactManager ON ccOrder.ccShippingEmail = contactManager.email 

    WHERE (ccOrder.cmID = 0 & ccOrder.cmIDtwo = 0) 

    AND contactManager.'email' != '' 
  • 0
    Почему вы присоединяетесь к электронной почте? Я думаю, что вы должны присоединиться, используя ID.
  • 0
    Я полностью согласен, но это из двух разных систем, поэтому сопоставление по электронной почте для создания идентификатора, чтобы я мог сопоставить на этом.
Показать ещё 1 комментарий
Теги:
mysqli

1 ответ

0

Поработав над этим некоторое время, я нашел простое изменение WHERE (ccOrder.cmID = 0 & ccOrder.cmIDtwo = 0) до WHERE ccOrder.cmID = 0 И ccOrder.cmIDtwo = 0

устраняют повторяющиеся записи и возвращают ожидаемые результаты.

Любить, чтобы знать, почему, так как обычно работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню