Przeszukiwanie wszytskich tabel

0

Witajcie

Mam w bazie danych 4 tabele, każda ma te same pola: id, slowo, definicja. Chcę teraz przeszukać wszystkie tabele gdzie slowo to 'dom'. Próbowałem coś takiego select * from user_tables where slowo='dom' , ale jednak nie działa.

0

spróbuj UNION

0

A możesz konkretniej? (a tak w ogóle to jeśli miałbym 100 tabel i robiłbym union to chyba byłoby bez sensu trochę)

0

liczba tabel może ulec zmianie (może się zwiększyć), dlatego poprosiłbym o inne rozwiązanie

0

OK, ale jeśli tworzę słownik kategorii, a w każdej kategorii mam kilka pojęć, to ma to sens. (Jasne można to wrzucić do jednej tabeli, ale ja chciałbym w kilku)

0
<?php
$query = "SELECT * FROM %s";
$tables = array("t1", "t2", "t3");
$q = join(array_map(create_function('$x', 'global $query; return sprintf($query, $x);'), $tables), " UNION ");
echo $q;
?>
4
adamPazdzierz napisał(a):

OK, ale jeśli tworzę słownik kategorii, a w każdej kategorii mam kilka pojęć, to ma to sens. (Jasne można to wrzucić do jednej tabeli, ale ja chciałbym w kilku)

Nie, to nie ma sensu. To jest błąd projektowy. Jak będziesz chciał dodać kategorię to będziesz dodawał nową tabelę? Tak się nie robi.

0

OK, to zdecyduję się na jedną tabelę. To jeszcze jedno szybkie pytanie. Wynokując select a from tabela where typ='taki' moze zdarzyć się ze nic nie zostanie zwrócone. Czy da się aby domyślnie w wyniku zamiast pustej odpowiedzi zwracało jakiś dowolnie ustalony String np. test?

0
adamPazdzierz napisał(a):

moze zdarzyć się ze nic nie zostanie zwrócone. Czy da się aby domyślnie w wyniku zamiast pustej odpowiedzi zwracało jakiś dowolnie ustalony String np. test?
może isnull(...) będzie tutaj pomocna albo if'em w select sprawdzać.

0

ok, ale isnull jest mssql'owe a ja korzystam z Oracla

0

A czy takie coś nie powinno być obsłużone po stronie aplikacji? Jeżeli nie ma rekordu to go nie ma.

0
adamPazdzierz napisał(a):

ok, ale isnull jest mssql'owe a ja korzystam z Oracla

z tego co widzę podobną funkcjonalność w oracle ma nvl(), isnull występuje nie tylko mssql.

1 użytkowników online, w tym zalogowanych: 0, gości: 1