|
|
|
Выборка из таблицы на основании данных другой таблицы
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть две таблицы: user и user_param Упрощенная структура таблиц: Столбцы таблицы user : user_id passwd столбцы таблицы user_param param_id user_id name value Таблицы связаны соответственно полем user_id в таблице user_param содержится неограниченное кол-во параметров, таких, как страна, город и т.д. Допустим у юзера есть 2 параметра: name = 'country', value = 'Россия' и name = 'city', value = 'Москва' Вопрос: как одним запросом достать юзера, у которого совпадают оба параметра? Хотелось бы придумать что-то на подобии этого: Код: sql 1. 2. 3. 4. 5. Такой вариант, естественно не подходит, т.к. тут кроме москвы и другие города будут, а если в подзапросе заменить OR на AND возвращается пустой результат. Возможно кто-то сталкивался с подобной задачей и сможет помочь. Спасибо за внимание! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2015, 13:01:08 |
|
||
|
Выборка из таблицы на основании данных другой таблицы
|
|||
|---|---|---|---|
|
#18+
Hama, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2015, 18:00:46 |
|
||
|
Выборка из таблицы на основании данных другой таблицы
|
|||
|---|---|---|---|
|
#18+
Hama, да тут не в задаче дело а в нежелании научиться работать с базой. давай подскажу. напиши запрос, который надо тебе, для случая есть три таблицы. Users country_params(id,name,value,user_id) city_params(id,name,value,user_id) users : 1,'vasya',.... country_params : 1, 'cname', 'Russia',1 2, 'ca3', 'RUS',1 3, 'domain', 'ru',1 4, 'code' , '+7',1 city_params 1,'cname' , 'Moscow',1 2,'region' , ... , 1 3,'timezone', 2,1 ... вот для этого случая найди где юзер имеет страну cname = 'Russia' AND cname = 'Moscow' только поля из разных таблиц. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2015, 18:01:06 |
|
||
|
Выборка из таблицы на основании данных другой таблицы
|
|||
|---|---|---|---|
|
#18+
скукотищаHama, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. а вот и не скукотища params 1, 'city_name', 'Moscow', 123 2, 'city_name', 'Kiev', 123 ну вот так вот...юзер может указать себе несколько городов... бомж он кароче, живёт то там то сям. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2015, 18:04:12 |
|
||
|
Выборка из таблицы на основании данных другой таблицы
|
|||
|---|---|---|---|
|
#18+
Hama, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. а вообще гуглите реляционное деление, там еще куча способов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2015, 18:47:02 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1833715]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
144ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 211ms |
| total: | 450ms |

| 0 / 0 |
