SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 20.06.2010 22:21:12

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

вложенный запрос

никак не могу усвоить вложенные запросы, помогите кто знает.

есть запрос
$result6 = mysql_query("SELECT id,id_users,author,date,time,text FROM comment_programm WHERE post='$id' ORDER BY id DESC",$db);

нужно вытащить из таблицы users поле id_users где id_users = id_users "comment_programm"

Неактивен

 

#2 21.06.2010 13:43:53

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: вложенный запрос

Попробуйте сформулировать вопрос другими словами. id_users из другой
таблицы, при условии, что он совпадает с id_users из первой таблицы,
совпадает с id_users из первой таблицы:
SELECT id_users FROM comment_programm.

Возможно, Вам нужно достать *другие* данные из users. Тогда
SELECT users.* FROM users, comment_programm WHERE users.id_users = comment_programm.id_users;

Ну и program пишется или с одной m или с e на конце wink

Неактивен

 

#3 21.06.2010 19:22:09

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: вложенный запрос

$result6 = mysql_query("SELECT id,id_users,author,date,time,text FROM comment_programm WHERE post='$id' ORDER BY id DESC",$db);

в этом запросе вытаскиваються комментарии, а в таблице users у меня поле аватар, мне нужно вытащить только аватар из таблицы users где id_users (из таблице comment_programm) = id (из таблицы users)

как то такsmile

Неактивен

 

#4 21.06.2010 19:34:48

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: вложенный запрос

с помощью вашей подсказки я разобрался, по крайней мере работаетsmile
$result6 = mysql_query("SELECT comment_programm.*,users.avatar FROM users, comment_programm WHERE users.id = comment_programm.id_users and post='$id'",$db);

Неактивен

 

#5 21.06.2010 20:07:25

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: вложенный запрос

правильный запросsmile

Неактивен

 

#6 21.06.2010 20:10:06

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: вложенный запрос

рано обрадовалсяsad что то в нем все таки не такsad выводить комментарии только тех пользователей, которые активированы, т.е. зашли на сайт под своим именем, ничего понять не могуsad

Неактивен

 

#7 21.06.2010 20:15:51

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: вложенный запрос

я понял он не выводит те комментарии у которых которые id_users = 0, paulus помогите подкоректировать запрос

$result6 = mysql_query("SELECT comment_programm.*,users.avatar FROM users, comment_programm WHERE users.id = comment_programm.id_users and post='$id'",$db);

Неактивен

 

#8 21.06.2010 20:37:08

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: вложенный запрос

OR comment_programm.id_users = 0 ?

Неактивен

 

#9 21.06.2010 20:59:47

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: вложенный запрос

OR comment_programm.id_users = 0 ?

это надо добавить или это вопрос?smile

Неактивен

 

#10 21.06.2010 21:18:07

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: вложенный запрос

может запрос вообще не правильный, попробую написать русскими буквами еще раз.

есть запрос, который вытаскивает комментарии пользователей из comment_programm

$result6 = mysql_query("SELECT id,id_users,author,date,time,text FROM comment_programm WHERE post='$id' ORDER BY id DESC",$db);

и в таблице USERS есть к зарегистрированным пользователям аваторки (avatar), вот нужно вытаскивать к каждому комментарию аватор пользователя....

id_users из таблицы комментариев (comment_programm) соответствует id из таблицы users, но не у каждого пользователя в id_users есть значение у некоторых ноль, но это наверное не должно имть значение...

Неактивен

 

#11 21.06.2010 21:19:09

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: вложенный запрос

Да! smile

Простите, не удержался smile Добавить. Это дополнительное условие. Вам нужно выбрать
комментарии, которые совпадают с пользователем, или содержат ноль. Как вариант,
кстати, добавьте пользователя номер ноль — Вы ему сможете проставить аватар
стандартными средствами smile

Неактивен

 

#12 21.06.2010 21:52:47

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: вложенный запрос

Да, как вариантом я воспользовался, работает, отличноsmile но это из сотни наверно 99 вариантsmile а вот OR comment_programm.id_users = 0 я не смог прикрутить к запросу, я так и не понял куда его вставлять, в любом случае спасибо, на рекламку кликать не забываюsmilesmilesmile

Неактивен

 

#13 22.06.2010 02:24:00

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: вложенный запрос

Если не делать «как варианта», то можно через LEFT JOIN переписать.
Чуть сложнее выглядит конструкция, но, если разберетесь, будет замечательно smile

SELECT comment_programm.*,users.avatar
FROM comment_programm LEFT JOIN users ON users.id = comment_programm.id_users
WHERE post='$id'

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson