0
我无法将两个查询合并为一个。如何将同一表的两个查询放在一起
查询1:
SELECT *
FROM (`text`)
WHERE `text` LIKE '%TERM1%' ORDER BY `text`.`start` DESC
查询2:
SELECT *,
MATCH (col1, col2, col3) AGAINST ('%TERM2%' IN BOOLEAN MODE) AS relevance
FROM `text`
WHERE MATCH (col1, col2, col3) AGAINST ('%TERM2%' IN BOOLEAN MODE)
AND status=2
ORDER BY `text`.`start` DESC
任何建议将被接受。
表“文本”看起来像
+-------+--------+-------+------+------+
| col1 | col2 | col3 | text | id |
+-------+--------+-------+------+------+
| name1 | place1 | date1 | val1 | 1 |
| name2 | place2 | date2 | val2 | 2 |
| name3 | place2 | date5 | val1 | 3 |
| name4 | place4 | date4 | val5 | 4 |
| name5 | place5 | date5 | val5 | 5 |
:
:
| namex | placex | datex | valx | x |
+-------+--------+-------+------+------+
我已经忘了写,先查询还必须通过启动DESC订购...
我希望像结果:字词1 = VAL1和字词2 = val5
+-------+--------+-------+------+------+
| col1 | col2 | col3 | text | id |
+-------+--------+-------+------+------+
qery1结果:
| name3 | place2 | date5 | val1 | 3 |
| name1 | place1 | date1 | val1 | 1 |
个
QUERY2导致
| name5 | place5 | date5 | val5 | 5 |
| name4 | place4 | date4 | val5 | 4 |
:
:
| namex | placex | datex | valx | 1 |
+-------+--------+-------+------+------+
感谢。
@PinnyM - 是表被命名为text
和表格内立柱text
,unfortu,我必须采取项目与完整的数据库,这是荒谬的,而且它是荒谬的去改变完整的代码,因为它是必要的或不表名称的改变。
通过“加入他们”你怎么想的结果是什么样子?请不要告诉我你真的有一个名为“'text”的表... – PinnyM
只需要注意,如果您试图将查询与UNION运算符结合使用,那么每个查询都会返回相同数量的列。如果这不是你想要做的,你想如何加入查询?什么标准? – Melanie
而且你不应该使用select *来执行任何将要投入生产的代码。这是一个SQL反模式。 – HLGEM