Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Warunek
Forum PHP.pl > Forum > Bazy danych > MySQL
DaSki
Mam problem bo mam w tabeli pole gdzie są przechowywane dane w ten sposób "1,2,34,325,13," są tu numer ID userów w jaki sposób miałbym odwołać się do takich pól w tabeli jeżeli w kilku rekordach wystąpi ID podanego user'a. Wiem że można zrobić coś tego typu że wysyłając wszystkie rekordu a potem w IF sprawdzić przez preg_match czy nie wystąpiło to ID tylko jeśli mam powyżej tysiąca takich rekordów to czas wydłuży się wczytywania strony. Chodzi mi o kod Mysql gdzie by pokazywało czy nie ma tego ID w tym polu.

Dzięki z góry za odpowiedź.
Spawnm
omg, rozbij na 2 tabele (osobna dla listy id) a potem użyj joina
magra
  1. SELECT * FROM tabela WHERE $user_id IN (nazwa_pola_z_wartosciami_odzielonymi_przecinkami)
DaSki
Co do wcześniejszych postów to tak:

Spawnm: za dużo by było zapytań do bazy, choć jak wiadomo zawsze mieć lepiej rozbite niż mieć wszystko w jednej tabeli


magra: Dzięki za to, bo o "IN" zapomniałem


Przez te kilka godzin wpadłem na taki pomysł lecz nie wiem czy może się sprawdzić bo teraz nie mam dostępu do MySQL wiec nie mam jak sprawdzić.

A więc to by działało:
  1. SELECT a.* FROM tabela1 a INNER JOIN tabela2 b ON a.pola-z-id-userow IN (b.idusera)


Dało by to rade??
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.