Alternatywa do LIKE %

0

Hej!
Mam dwa pytania dotyczące tworzenia zapytań do baz danych:

  1. Mam sobie tabele z urządzeniami. Dane urządzenie może należeć do paru różnych typów (oznaczane są liczbami) np. urządzenie x należy zarazem do grupy 1 jak i 2 (wiem troche to "śmiszne" ale potrzebuje takie rozróżniania). Jak zaprojektować tabele żeby dało się potem wyszukiwać sprawnie jeden konkretny typ urządzeń. Aktualnie jedyną rzeczą jaką wymyśliłem to kolumna "type" w której dane wyglądają tak: ",1,2," i de facto mogę wyszukiwać w niej przez taką konstrukcję LIKE "%,2,%". Czy jest jakieś sensowniejsze rozwiązanie problemu? Można by też po prostu stworzyć załóżmy 3 kolumny (type1, type2, type3) ale co przy większej ilości typów?

  2. Chcę stworzyć zapytanie w której będę "selectował" po jednej tabeli i potem w jednym z warunków wyszukiwał w innej tabeli wartość z tego pierwszego selecta xD opisze to na przykładzie może:
    SELECT * FROM a WHERE [...] AND (SELECT COUNT(*) FROM b WHERE b.type=a.type) < 10
    Czy to jest dobrze skonstruowane zapytanie? (w tym drugim zapytaniu chodzi o to żeby liczba tych itemów była mniejsza od 10)
    Silnik to mySQL.
    Pozdrawiam i proszę o odpowiedź

0
  1. JOIN i HAVING. Patrz Google.

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