sql >> Database >  >> RDS >> Mysql

Zoeken in SQL-array

Ervan uitgaande dat je echt 234,394,479 . gebruikt als waarde van één kolom (u moet op zijn minst ,234,394,479, . gebruiken om te kunnen doen WHERE invited LIKE '%,234,%' in uw zoekopdracht) moet u uw gebruikerstabellen opnieuw opbouwen, veld invited_users verwijderen en maak een tabel als volgt:

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

En selecteer dan gewoon een lijst met gebruikers die gebruiker 234 hebben uitgenodigd met een vraag:

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. SQLite-databaselek gevonden

  2. Hoe voer je een selectiequery uit in een DO-blok?

  3. CHARINDEX() vs PATINDEX() in SQL Server - Wat is het verschil?

  4. SAP Lumira verbinden met Microsoft Access