Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wyszukiwanie tablic SQL

Zakładając, że naprawdę używasz 234,394,479 jako wartość jednej kolumny (należy przynajmniej użyć ,234,394,479, aby móc robić WHERE invited LIKE '%,234,%' w zapytaniu) należy odbudować tabele użytkowników, usunąć pole invited_users i utwórz tabelę w ten sposób:

CREATE TABLE invited_users (
  id INT AUTO_INCREMENT,
  owner_id INT, -- Who's input it is
  target_id INT, -- What's the target user
  PRIMARY KEY ( id),
  UNIQUE ( owner_id, target_id),
  -- Indexes (FOREIGN KEYs!) to users table
);

I nie tylko wybierz listę użytkowników, którzy zaprosili użytkownika 234 za pomocą zapytania:

SELECT users.id, users.name
FROM invited_users
INNER JOIN users ON invited_users.owner_id = users.id
GROUP BY users.id
WHERE invited_users.target_id = 234


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jakie sortowanie MySQL jest najlepsze do akceptowania wszystkich znaków Unicode?

  2. Openshift:Jak uzyskać zdalny dostęp do MySQL?

  3. Błąd 1130 w mysql

  4. Przygotowane zestawienia MySQL z listą zmiennych o zmiennym rozmiarze

  5. Cloud 9 IDE nie może połączyć się z bazą danych