Jump to content
php.lv forumi

mysql query explode


goma smile

Recommended Posts

Iedomājieties tabulā lietotāji tiek norādīta kaut kāda kaut kam piederība import stilā.... piemēram

 

user_girls - ",1,9,12," lietoājs ES

user_girls - ",9,13,44," cits lietoājs

 

 

 

vienāršā variantā ja nebūtu tā virkne ar komatiem varētu:

SELECT id FROM users WHERE id IN (1,9,12) ;

 

 

bet man vaig lai izvelk to lietotāja ID, ja viņam user_girls sakrīt ar manējo kādu no starpkomatu vērtībām

Link to comment
Share on other sites

MySQL ir funkcija POSITION(subtr in str)

Pieņemsim, ka kolonu, kurā ir ID atdalīti ar komatiem sauc ids. Tad SQL būs šāds

 

SELECT * FROM tabula WHERE POSITION(',1,' in ids) > 0 OR POSITION(',9,' in ids) > 0 OR POSITION(',12,' in ids) > 0

 

Obligāti jābūt komatiem pirms un pēc ID. Izskatās, ka tas kas taisījis to sistēmu jau ir paredzējis šādi selektēt, jo var redzēt, ka idu rinda sākas ar komatu :) Bet nu spalvains variants, it īpaši ja tur būs ļoti daudz ID. Šitas būs potenciāli lēns query

Edited by Kasspars
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...