Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie
Forum PHP.pl > Forum > Bazy danych > MySQL
BlackHat
Witam,
Jestem w trakcie pisania pełnotekstowej wyszukiwarki artykułów, niektóre artykuły maja nawet po 17 stron a4 tekstu.
stworzyłem zapytanie które zwraca mi wyniki, niestety nie sortuje ich tak jakbym tego chciał. Najpierw wyświetla wyniki pasujące z pierwszej tabeli, później z kolejnej itd. Chciałbym ażeby sortowało wszystkie te tabele względem trafności frazy.
moje zapytanie wygląda następująco:
  1. SELECT tytul_pl, autor,tytul_en, sum_en,keywords_en,
  2. sum_pl,keywords_pl,tresc,kod, id2, numer, rok
  3. FROM
  4. anestezjologia
  5. WHERE MATCH (tytul_pl,autor, tytul_en, sum_en, sum_pl,
  6. keywords_en, keywords_pl, tresc, kod,id2,numer,rok)
  7. AGAINST
  8. ('+$searchterm+'IN BOOLEAN MODE )
  9. UNION ALL SELECT
  10. tytul_pl, autor,tytul_en, summary_en,summary_pl,
  11. keywords_en, kewords_pl,tresc, kod,id2, numer,NULL
  12. FROM
  13. balneo
  14. WHERE MATCH (tytul_pl, autor,tytul_en, summary_en, summary_pl,
  15. keywords_en, kewords_pl,tresc,kod,id2,numer)
  16. AGAINST
  17. ('+$searchterm+'IN BOOLEAN MODE )
  18. UNION ALL SELECT
  19. tytul_pl, autor, tytul_en, sum_en, sum_pl,
  20. keywords_en, keywords_pl ,tresc, kod,id2,numer,rok
  21. FROM
  22. farmako
  23. WHERE MATCH(tytul_pl, autor, tytul_en, sum_en, sum_pl,
  24. keywords_en, keywords_pl ,tresc, kod,id2,rok,numer)
  25. AGAINST
  26. ('+$searchterm+'IN BOOLEAN MODE)
  27. UNION ALL SELECT
  28. tytul_pl, autor,tytul_en, summary,NULL,
  29. keywords,NULL, tresc,kod,id2,numer,NULL
  30. FROM
  31. medrodz
  32. WHERE MATCH(tytul_pl, autor,tytul_en, summary,
  33. keywords, tresc,numer,kod,id2)
  34. AGAINST
  35. ('+$searchterm+'IN BOOLEAN MODE)
  36. UNION ALL SELECT
  37. tytul, autor,NULL, summary,NULL, keywords, NULL,
  38. tresc,kod,id2,numer,NULL
  39. FROM
  40. newmedicine
  41. WHERE MATCH (autor, tytul, summary, keywords, tresc,
  42. numer,kod,id2)
  43. AGAINST
  44. ('+$searchterm+'IN BOOLEAN MODE )
  45. UNION ALL SELECT
  46. tytul_pl, autor, tytul_en,summary,NULL,keywords,
  47. NULL, tresc,kod,id2, numer,NULL
  48. FROM
  49. nowmed
  50. WHERE MATCH (tytul_pl, autor, tytul_en,summary, keywords,
  51. tresc, numer,kod,id2)
  52. AGAINST
  53. ('+$searchterm+'IN BOOLEAN MODE )
  54. UNION ALL SELECT
  55. tytul_pl, autor,tytul_en, summary,NULL,keywords,
  56. NULL, tresc,kod,id2,numer,NULL
  57. FROM
  58. nstoma
  59. WHERE MATCH (tytul_pl, autor,tytul_en, summary,keywords,
  60. tresc,kod,id2,numer)
  61. AGAINST
  62. ('+$searchterm+'IN BOOLEAN MODE )
  63. UNION ALL SELECT
  64. tytul_pl,autor,tytul_en, summary,NULL,keywords,
  65. NULL,tresc,kod,id2,numer,NULL
  66. FROM
  67. pediatria
  68. WHERE MATCH (tytul_pl,autor,tytul_en, summary,keywords,
  69. tresc,numer,kod,id2)
  70. AGAINST
  71. ('+$searchterm+'IN BOOLEAN MODE )
  72. UNION ALL SELECT
  73. tytul_pl, autor,tytul_en,summary,NULL,keywords,
  74. NULL,tresc,kod,id2,numer,NULL
  75. FROM
  76. pf
  77. WHERE MATCH (autor, tytul_pl,tytul_en,summary,keywords,
  78. tresc,numer,kod,id2)
  79. AGAINST
  80. ('+$searchterm+'IN BOOLEAN MODE )
  81. UNION ALL SELECT
  82. tytul_pl,autor, tytul_en,summary_pl,
  83. summary_en, keywords_pl,keywords_en,
  84. tresc,kod,id2,numer,NULL
  85. FROM
  86. pnmedycznych
  87. WHERE MATCH (autor, tytul_pl, tytul_en,summary_pl,
  88. summary_en, keywords_pl,keywords_en,
  89. tresc,numer,kod,id2)
  90. AGAINST
  91. ('+$searchterm+'IN BOOLEAN MODE )
  92.  

Za wszelkie wskazówki będę wdzięczny:)
Pozdrawiam,
BlackHat
Crozin
Dlaczego masz N takich samych tabel w bazie danych? Nie możesz wrzucić dodatkowej kolumny (ENUM) identyfikującej typ czy czymkolwiek jest teraz nazwa tabeli?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.