Как объединить две таблицы с условием их столбцов? - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть две таблицы:

Таблица A:

id | key | price

Таблица B:

id | key | min | max

Я хочу строки из таблицы B что min и max столбец содержат столбец цена из таблицы A. Другими словами, цена больше минимальной и ниже максимальной.
Я использовалэтот код, но не вернул истинный результат:

SELECT * FROM B INNER JOIN A ON A.key=B.key where A.price > B.min AND A.price < B.max;

Ответы [ 3 ]

1 голос
/ 11 апреля 2019

Используйте этот запрос MySQL для получения результатов и убедитесь, что для столбца цены установлено значение INT или FLOAT.

SELECT 
    table1.id,table1.key,table1.price,
    table2.min,table2.max
FROM
    table1
        INNER JOIN
    table2 ON table1.key = table2.key
        AND (table1.price > table2.min
        AND table1.price < table2.max);
0 голосов
/ 11 апреля 2019

Хорошо, я нашел проблему.
цена Тип столбца был Varchar. Я изменил его на float, и теперь запрос возвращает истинный результат.

0 голосов
/ 11 апреля 2019

1001 * попробовать *

ВЫБРАТЬ * ОТ B ВЛЕВО СОЕДИНИТЬСЯ С B.key = A.key, где A.price> B.min И A.price

Левое соединение вернет значения в левой таблице. Здесь B

здесь показано https://www.w3schools.com/sql/sql_ref_join.asp

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