Mysql concat неравное поле таблицы - PullRequest
0 голосов
/ 07 октября 2018

почему я не могу выбрать строку таблицы с неравной структурой concat?Я покажу вам пример.

Table1

| id | площадь |

|1 |items_labeling_small |

|2 |items_labeling_big |

Table2

| id | Площадь | кат |

|1 |маленький |маркировка |

|2 |большой |маркировка |

ВЫБРАТЬ Table1.area ОТ таблицы Table1, Table2 ГДЕ Table1.area! = CONCAT ('items_', Table2.kat, '_', Table2.area)

Никаких результатов не нужно показывать, потому что они совпадают со структурой concatНо они показаны в результате.Понятия не имею почему .. и как я могу изменить запрос, чтобы он работал.

1 Ответ

0 голосов
/ 07 октября 2018

Они показываются, потому что каждая строка не соответствует другой, поэтому у вас есть строки, которые не соответствуют

    SELECT Table1.area 
    FROM Table1
    INNER JOIN Table2 ON  Table1.area != CONCAT('items_', Table2.kat, '_', Table2.area)

, может быть, вы хотите, чтобы не в

    SELECT Table1.area 
    FROM Table1 
    where  Table1.area NOT IN (

        SELECT CONCAT('items_', Table2.kat, '_', Table2.area)

        FROM Table2

    )

и какпредложение не использовать (старый) синтаксис объединения импликов, основанный на предложении where ... использовать явный синтаксис объединения ..

...