嗨,大家好我一直在嘗試這個SQL搜索查詢我的網站搜索設施,它應該搜索和按相關性排序。它在沒有左連接的情況下工作,我無法使用左連接工作。這是SQL查詢。選擇與聯盟和左聯接
SELECT bl_albums.*, bl_bands.name as bandname, bl_bands.id as bandid,
bl_bands.bandpage as bandpage, sum(relevance)
FROM bl_albums
LEFT JOIN(
SELECT bl_albums.*, bl_bands.name as bandname, bl_bands.id as bandid,
bl_bands.bandpage as bandpage,10 AS relevance
FROM bl_albums
WHERE bl_albums.name like 'Camera'
UNION
SELECT bl_albums.*, bl_bands.name as bandname, bl_bands.id as bandid,
bl_bands.bandpage as bandpage, 7 AS relevance
FROM bl_albums
WHERE bl_albums.name like 'Camera%'
UNION
SELECT bl_albums.*, bl_bands.name as bandname, bl_bands.id as bandid,
bl_bands.bandpage as bandpage, 5 AS relevance
FROM bl_albums
WHERE bl_albums.name like '%Camera'
UNION
SELECT bl_albums.*, bl_bands.name as bandname, bl_bands.id as bandid,
bl_bands.bandpage as bandpage, 2 AS relevance
FROM bl_albums
WHERE bl_albums.name like '%Camera%'
) bl_bands on bl_albums.bandid = bl_bands.id
GROUP BY bl_albums.name
ORDER BY relevance desc
所有的表名都是正確的,所有的列名都是正確的。
你的工作意味着什麼 - 它在做什麼。你使用的是哪個SQL服務器(該組看起來像mysql,但字符串常量看起來像sql server)。你真的有一個工作查詢返回你在宇宙結束之前所期望的結果嗎? – Hogan 2012-08-15 03:16:54