Mysql
 sql >> база данни >  >> RDS >> Mysql

Търсене в SQL масив

Ако приемем, че наистина използвате 234,394,479 като стойност на една колона (поне трябва да използвате ,234,394,479, да можете да правите WHERE invited LIKE '%,234,%' във вашата заявка) трябва да създадете отново вашите потребителски таблици, премахнете полето invited_users и създайте таблица по следния начин:

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
);

И от това просто изберете списък с потребители, които са поканили потребител 234 със заявка:

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. Вземете име на колона вместо стойност на колона

  2. Как да генерирам UUIDv4 в MySQL?

  3. Вложени връзки със Sequelize

  4. PATINDEX() замяна в MYSQL

  5. Кой е най-добрият начин за свързване на приложението за iPhone (iOS SDK) към бекенда на php/MySql