Сидела на работе, и настроение вроде было ничего, вполне себе радужное, и музыку печально-грустную не слушала, а как-то незаметно стало грустно, тоскливо и одиноко.
А тут попался запрос. Обыкновенный SQL-запрос. Ну, может не совсем обыкновенный, и вовсе даже не попался - его не было, а надо было составить. И ведь составила, и получился.. и сразу повеселела.
Пустячок, а приятно, что получилось.
Техзадание на запрос звучит примерно так:
есть таблица 1: поле1, поле2
есть таблица 2: поле2, поле3
есть таблица 3: поле3, поле4.
(по совпадающим именам полей таблицы связаны)
мне нужно обновить только те записи в таблице 1,
у которых
а) поле2=значение1
AND
б)поле4=значение2
А вот и
решение:
UPDATE таблица1 SET поле1=значение
WHERE (поле2 IN (
SELECT таблица2.поле2
FROM таблица2 LEFT OUTER JOIN таблица3 ON таблица2.поле3=таблица3.поле3
WHERE (таблица2.поле2=значение1) AND (таблица3.поле4=значение2)))
Вдруг да кому пригодится?
Вот теперь интересно - это запрос такой простой или я такая умная, без книжки додумалась сама?
Состояние: креативное