Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie do SQL
Forum PHP.pl > Forum > Bazy danych > MySQL
piotrekba88
Witam,

Mam kilka tabel o takiej samej strukturze tylko posiadają różne prefixy
1_posts
2_posts
3_posts

chcę wyciągnąć z tych 3 tabel z kolumny o tej samej nazwie te same slowa

SELECT * FROM 1_posts WHERE post_name = 'slowo' - jak zrobić jednym zapytaniem, żeby wypluł mi wszystkie wyniki z wszystkich tabel kończących się na _posts? (bo nie będę miał tak jak w tym przypadku 3 tabel tylko np 3 tysiace)
piotr.pasich
Hej,

tutaj będzie trzeba wyciągnąć najpierw informacje o tabelach z bazy konfiguracji MySQLa

  1. SELECT DISTINCT TABLE_NAME
  2. FROM INFORMATION_SCHEMA.TABLES
  3. WHERE TABLE_NAME LIKE '%_posts'
  4. AND TABLE_SCHEMA='YourDatabase';


I niestety rozbić na dwa zapytania, a później skonstruować np. w PHP zapytanie UNION z wszystkich pobranych tabel.

Piotr Pasich
b4rt3kk
Cytat(piotrekba88 @ 7.08.2013, 15:48:23 ) *
Witam,

Mam kilka tabel o takiej samej strukturze tylko posiadają różne prefixy
1_posts
2_posts
3_posts

chcę wyciągnąć z tych 3 tabel z kolumny o tej samej nazwie te same slowa

SELECT * FROM 1_posts WHERE post_name = 'slowo' - jak zrobić jednym zapytaniem, żeby wypluł mi wszystkie wyniki z wszystkich tabel kończących się na _posts? (bo nie będę miał tak jak w tym przypadku 3 tabel tylko np 3 tysiace)


Coś mi się wydaje, że Twoja baza danych jest (będzie) źle zaprojektowana. Na cholerę tyle analogicznych tabel? Nie prościej jedno posts z dodatkową kolumną np. number, która będzie przechowywać wartość prefiksu, który chciałeś dać przed tabelą?
piotrekba88
to jest baza danych ze skryptu do tworzenia stron ... i jesli tworze np 100 stron to kazda ma swoje tabele z innym prefixem... dlatego inaczej sie tego nie da zrobic.

Chcę zrobić skrypcik php który będzie mógł zmieniać wybrane słowa (kilka słów) w newsach.

np. jest tekst: "W PHP i MySQL można stworzyć bardzo ciekawe skrypty, które są pomocne w wielu sytuacjach"

odpalam skrypcik PHP... podaję słowa "bardzo ciekawe skrypty" ... podaje słowa na które mają być zamienione "niezwykle interesujące skrypt" ... skrypt przeszukuje bazę danych, a dokładnie tabelę PREFIX_posts i jak znajdzie te słowa to je podmienia.

do pojedynczych zapytań robię to przez phpmyadmin, ale chcę to usprawnić i przyspieszyć

UPDATE `prefix_posts` SET `post_content` = REPLACE(`post_content`, 'bardzo ciekawe skrypty', 'niezwykle interesujące skrypt');
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.