Задать вопрос
Ответы пользователя по тегу SQL
  • Как сделать выборку и поиск по трем таблицам в MySQL?

    medvedhack
    @medvedhack Автор вопроса
    Все, разобрался сам, 3 часа курения доков и вот кривой результат, но работает довольно шустро:
    (SELECT `id`,`tag`,`name`,`html`,`img`, '1' as `type`, `category`, (IF (tb_table1.name LIKE '%Бао лала%', 2, 0) + IF (tb_table1.name LIKE '%Бао%', 1, 0) + IF (tb_table1.name LIKE '%лала%', 1, 0)) AS points FROM tb_table1)
    UNION
    (SELECT `id`,`tag`,`name`,`html`,`img`, '2' as `type`, `category`, (IF (tb_table2.name LIKE '%Бао лала%', 2, 0) + IF (tb_table2.name LIKE '%Бао%', 1, 0) + IF (tb_table2.name LIKE '%лала%', 1, 0)) AS points FROM tb_table2) 
    UNION 
    (SELECT `id`,`tag`,`name`,`html`,`img`, '3' as `type`, '0' as `category`, (IF (tb_table3.name LIKE '%Бао лала%', 2, 0) + IF (tb_table3.name LIKE '%Бао%', 1, 0) + IF (tb_table3.name LIKE '%лала%', 1, 0)) AS points FROM tb_table3) 
    UNION 
    (SELECT `id`,`tag`,`name`,`html`,`img`, '4' as `type`, '0' as `category`, (IF (tb_table4.name LIKE '%Бао лала%', 2, 0) + IF (tb_table4.name LIKE '%Бао%', 1, 0) + IF (tb_table4.name LIKE '%лала%', 1, 0)) AS points FROM tb_table4) 
    ORDER BY points DESC LIMIT 20
    Ответ написан