Gör en fråga som söker i topics och en som söker i replys (replies!) och lägg ihop dessa med en union.
------------------
essentitia preter non sans multiplicandum
3 svar · 173 visningar · startad av Pace
Okej, vi skippar dösnackat! ;)
1. Detta är ett forum.
2 Vill söka efter alla inlägg som en användare gjort.
3. Har tre tabeller:
* PaceBoard_Topics - Trådens första inlägg
* PaceBoard_Members - Alla anävndare
* PaceBoard_Replys - Inläggen i en viss tråd
4. Vill söka igenom dessa tre tabeller där både PaceBoard_Topics och PaceBoard_Replys kan innehålla inlägg som använaren gjort.
Har följande kod som söker igenom ett PaceBoard_Topics och _Replys efter en söksträng:
SELECT
PaceBoard_Forums.Forum_ID, PaceBoard_Forums.F_Name, PaceBoard_Topics.Topic_ID,
PaceBoard_Topics.T_Subject, PaceBoard_Topics.T_Last_Post, PaceBoard_Members.M_Name
FROM ((PaceBoard_Forums
LEFT JOIN PaceBoard_Topics ON PaceBoard_Forums.Forum_ID = PaceBoard_Topics.Forum_id)
LEFT JOIN PaceBoard_Replys ON PaceBoard_Topics.Topic_ID = PaceBoard_Replys.Topic_ID)
LEFT JOIN PaceBoard_Members ON PaceBoard_Topics.T_Originator = PaceBoard_Members.Member_ID
WHERE (PaceBoard_Forums.F_Description LIKE '%pace%'
OR PaceBoard_Replys.R_Message LIKE '%pace%'
OR PaceBoard_Topics.T_Message LIKE '%pace%'
OR PaceBoard_Topics.T_Subject LIKE '%pace%')
[Redigerat av Pace den 16 okt 2001]
Gör en fråga som söker i topics och en som söker i replys (replies!) och lägg ihop dessa med en union.
------------------
essentitia preter non sans multiplicandum
Okej, ska testa det!
(replies!)
Jo jag vet, men tabellerna hette _Reply och _Topic, men de var ju pluralis inlägg i dem så jag la på ett 'S' slutet. ;)
------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."
[Redigerat av Pace den 16 okt 2001]
Hmmm, har lite svårigheter, det tycks gå över mitt förstånd.
Om jag söker efter exempelvis "Pace" i sökfältet, hur ska jag få PaceBoard_Members.M_Name = 'pace' att söka efter exempelvis användar ID 7?
SELECT PaceBoard_Forums.Forum_ID, PaceBoard_Forums.F_Name, PaceBoard_Topics.Topic_ID, PaceBoard_Topics.T_Subject, PaceBoard_Topics.T_Last_Post, PaceBoard_Members.M_Name
FROM ((PaceBoard_Forums LEFT JOIN PaceBoard_Topics ON PaceBoard_Forums.Forum_ID = PaceBoard_Topics.Forum_id)
LEFT JOIN PaceBoard_Replys ON PaceBoard_Topics.Topic_ID = PaceBoard_Replys.Topic_ID)
LEFT JOIN PaceBoard_Members ON PaceBoard_Topics.T_Originator = PaceBoard_Members.Member_ID
UNION SELECT PaceBoard_Replys.* FROM (PaceBoard_Replys LEFT JOIN PaceBoard_Topics ON PaceBoard_Replys.Topic_ID = PaceBoard_Topics.Topic_ID)
WHERE PaceBoard_Members.M_Name = 'pace'
------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."