dron4ik
23.11.2013 - 04:51
Название дурацкое, но "помогите составить запрос" не катит.
может просто спать хочу, все таки 3 часа ночи, может глуп.
col1, col2
4 | 1
3 | 2
4 | 2
3 | 1
3 | 4
у меня есть два значения 1 и 2
выбираю из col1
суть, мне нужно чтобы выбрались все значения из первой где col2 будет разнятся одновременно
и 1 и 2
Не могу даже придумать как в гугле правильно спросить)))
Надеюсь не закидаете камнями) Спасибо)
если через ОR то получаю по две одинаковых записи + те что хоть под один вариант попадают, AND само собой не сработает...
_____________
Ex3m.com.ua — Активный образ жизни
SELECT `col1` FROM
(SELECT `col1`, COUNT(*) AS `cou` FROM `tab` WHERE `col2` IN ('1','2') GROUP BY `col1`) AS `time`
WHERE `cou`='2';
Нее?
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
dr.nomore
23.11.2013 - 05:18
Я тоже ничего не понял в изложенном бреде, но обычно чтобы получить результат внутренних отношений их выводят наружу. Делают из одной таблицы столько отношений, сколько их подразумевается. Размножение отношений реализуется псевдонимами.
Цитата |
где col2 будет разнятся одновременно и 1 и 2 |
Колитесь что вы там делаете.
dron4ik
23.11.2013 - 05:42
Попробую так,
к примеру есть таблицы term, tax, post
в tax ид с term и post. нужно достать все посты где termtitle и "привет" и "мир" одновременно
term - idterm, termtitle
tex - idterm, idpost
post - idpost, posttitle, postcontent...
_____________
Ex3m.com.ua — Активный образ жизни
dron4ik
23.11.2013 - 06:04
ABCеще не смог заставить этот вариант работать)))
_____________
Ex3m.com.ua — Активный образ жизни
Игорь_Vasinsky
23.11.2013 - 08:44
dr.nomore
Цитата |
Я тоже ничего не понял в изложенном бреде |
ты меня разочаровал .. я считал тебя гуру SQL
и с этим мне теперь жить?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick
23.11.2013 - 10:20
Игорь_Vasinsky, живи спокойно, если бы ты понял задание и предложил решение, тогда да стоило бы волноваться за
dr.nomore
dron4ik, не удивительно что ты не можешь решить задачу, ты же даже не можешь её грамотно сформулировать. Даже попытка объяснить "что откуда" не удалась. ТЗ должно быть полным и четким. Ну и само собой прежде чем выдумывать запросы к БД, необходимо грамотно реализовать саму структуру БД. Это действительно очень важно.
AND можно применить к разным полям одной строки, судя по всему ты хочешь его прилепить к разным строкам одного поля, а раз у тебя возникает такая потребность, то тут и к бабке ходить не надо со структурой БД не лады (ну или с логикой приложения)
может всетаки использовать OR в совокупности с HAVING по количеству найденных результатов?
__
наконец-то посмотрел запрос ABC принцип тот же.
_____________
Стимулятор ~yoomoney - 41001303250491
select post.*
from post p
join tax t1 on p.idpost=t1.idpost
join tax t2 on p.idpost=t2.idpost
join term w1 on t1.idterm=w1.idterm
join term w2 on t2.idterm=w2.idterm
where w1.termtitle='привет' and w2.termtitle='мир'
dron4ik
23.11.2013 - 15:41
ValickТак работаю с чем дали... уже думал переделывать, но Aeq дал прям в точку...
AeqСпасиб)
_____________
Ex3m.com.ua — Активный образ жизни
Valick
23.11.2013 - 17:59
Aeq, у меня сомнения по поводу оптимальности вашего запроса
_____________
Стимулятор ~yoomoney - 41001303250491
Valick
бесспорно не оптимален. особенно в mysql
Цитата |
Aeq, у меня сомнения по поводу оптимальности вашего запроса |
+
тесты в студию:
GROUP BY + SELECT из временной таблицы
vs
4 JOIN (циклов)?
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.