X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Запрос с 2-х таблиц и вывода нужных значений.
zabmix
zabmix
Topic Starter сообщение 16.4.2011, 17:55; Ответить: zabmix
Сообщение #1


Уже который день решаю проблему, а она такова:

есть 2 таблицы: table1, table2
в table1 следующие поля: aid, cat, sec, pub - int(9)
в table2 следующие поля: aid, tag_id - int(9), value - text

Задача: вывести записи из table1 где table1.aid = table2.aid и table2.tag_id = 1,2,3 и table2.value = '50', 'шестьдесят', 'восемьдесят'

у каждой записи в table2 значение в поле value разное (есть цифры, есть буквы).

можно было бы решить таким способом но он долгий и выводит не то что нужно:

select * from table1 where aid in (select aid from table2 where (tag_id = '1' and value='50') or (tag_id = '2' and value='шестьдесят') or (tag_id = '3' and value='восемьдесят'))


и еще, нужно только те записи, которые в группе будут равны значениям в value и tag_id.
[IMG]http://zabmix.ru/download/08863abc2.PNG[/IMG]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 16.4.2011, 18:09; Ответить: Apay
Сообщение #2


а почему не написать прямо так как вы описали в условии?
SELECT table1.* FROM table1, table2 WHERE table1.aid = table2.aid AND table2.tag_id IN(1,2,3) AND table2.value IN ('50', 'шестьдесят', 'восемьдесят')
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zabmix
zabmix
Topic Starter сообщение 16.4.2011, 19:18; Ответить: zabmix
Сообщение #3


Не знаю почему, но он выводит записи со значением 'семьдесят' и т.д.
А нужно только удовлетворяющие эти. Может JOIN но я с ним на Вы.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zabmix
zabmix
Topic Starter сообщение 16.4.2011, 19:30; Ответить: zabmix
Сообщение #4


Этот запрос сработал, вроде выдал что нужно. Но вопрос в том что он должен выдать только те AID записи у которых все tag_id и value совпадают.

aid tag_id value
1 20 'ягодный'
1 30 'фруктовый'
1 40 'не вкусный'
1 50 'вкусный'
2 20 'на сливках'
2 30 'просто сок'
2 40 'фруктовый'
2 50 'яблочный'
3 20 'ягодный'
3 30 'фруктовый'
3 40 'вкусный'
3 50 'абрикосовый'

вывести aid записи где, tag_id = 20,30 и value 'ягодный','фруктовый'
В данному случае получим aid 1 и 3.
Вот какова задачка..)

[IMG]http://zabmix.ru/download/9d54d93a6.png[/IMG]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zabmix
zabmix
Topic Starter сообщение 19.4.2011, 20:16; Ответить: zabmix
Сообщение #5


Решил задачу, решение тут: http://www.skillz.ru/dev/php/index.php?m=b...md=p&id=219

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Запрос на бесплатные полезности
7 Tia2 1955 23.3.2024, 11:27
автор: Alexand3r
Горячая тема (нет новых ответов) Superobmen.biz - сервис ручного ввода и вывода Приват24 (грн) <--> WM, ЯД, QIWI
удобство, низкие комиссии, скидки постоянным клиентам!
52 Sostavitel 38706 10.2.2023, 1:04
автор: Sostavitel
Открытая тема (нет новых ответов) Сервис ввода, вывода электронных денег | Tochkaobmena.com
Сервис ввода, вывода электронных денег
11 tochkaobmena 6497 1.2.2021, 12:33
автор: tochkaobmena
Открытая тема (нет новых ответов) Ищу волшебника Гугл-таблиц
2 Bel_Ami 2051 6.12.2019, 19:36
автор: REGNET
Открытая тема (нет новых ответов) Куплю сайты, внутри темы подробный запрос
3 PticaKate 3648 12.11.2019, 16:22
автор: 0pium


 



RSS Текстовая версия Сейчас: 18.4.2024, 14:07
Дизайн