Forum Webscript.Ru
Общие => Базы данных => Тема начата: Berkut от 03 Мая 2004, 18:58:11
-
товарищи! просветите, неужели в майсикуль нельзя сделать такой запрос
DELETE FROM Cat WHERE SubCatID IN (SELECT SubCatID FROM SubCat WHERE CID=2);
И можно-ли вообще выполнить подобную задачу не формируя IN(..., ..., ...)
вручную?
-
Berkut
Вложенный - никак (точнее вроде в 5 версии появилось нечто подобное - но это удел экспериментаторов)
Используй (попробуй) PostgreSQL
тебе чего надо? удалить все категории с определенным номером подкатегории?
-
ThE0ReTiC:
Используй (попробуй) PostgreSQL
Да я-бы с радостью, только у хостера его нет. И вообще мало хостеров PostgreSQL
ThE0ReTiC:
тебе чего надо? удалить все категории с определенным номером подкатегории?
малость обшибся.
DELETE FROM Goods WHERE SubCatID IN (SELECT SubCatID FROM SubCat WHERE CID=2);
нужно удалить все товары всех под-категорий(SubCatID), относящихся к определённой категории(CID)
(есть 3 таблицы: 1)категории, 2)подкатегории(связаны с ид категорий), 3)товары(связаны с id подкатегорий)
пришлось сделать в 2 запроса.
интересно, можно-ли как-нибудь сделать это одним запросом? или может архитектура базы неправильная?
-
интересно, можно-ли как-нибудь сделать это одним запросом?
Можно.
Читать в доке начаиная от subselect или поиск по форуму рулит.
-
Chs говоришь одно, ThE0ReTiC - другое, и кто-же прав?
вот что нашёл в мане о сабселект:
``Find number, dealer, and price of the most expensive article.\'\'
In ANSI SQL this is easily done with a subquery:
SELECT article, dealer, price
FROM shop
WHERE price=(SELECT MAX(price) FROM shop)
In MySQL (which does not yet have subselects), just do it in two steps:
Get the maximum price value from the table with a SELECT statement.
Using this value compile the actual query:
SELECT article, dealer, price
FROM shop
WHERE price=19.95
Chs может приведёшь пример?
-
Уже приводил.:)
Я же сказал поиск по форуму рулит.:)
http://forums.webscript.ru/showthread.php?s=&postid=103315#post103315
ThE0ReTiC прав, что subselect не поддерживается до определенной версии.
-
Berkut
Я бы на самом деле на subselect не расчитывал - ибо это работает тока в 4.1, а не все эту ветку дают...