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