Форум: "Базы";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизSQL-запрос... Найти похожие ветки
← →
D3m (2005-01-17 05:39) [0]Никак нимогу нормально объединить два SELECT"a:
SELECT u.username AS username_1, u.user_id AS user_id_1, u2.username AS username_2,
u2.user_id AS user_id_2, u.user_sig_bbcode_uid, u.user_posts, u.user_from,
u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate,
u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_avatar, pm.*,
pmt.privmsgs_bbcode_uid, pmt.privmsgs_text FROM phpbb_privmsgs pm,
phpbb_privmsgs_text pmt, phpbb_users u, phpbb_users u2 WHERE pm.privmsgs_id = 99
AND pmt.privmsgs_text_id = pm.privmsgs_id AND pm.privmsgs_type=99
иSELECT username,
user_password FROM phpbb_users WHERE user_id=2
пробовал соответственно UNION, но интер. сообщает об синтаксис ошибке :(...
первый селект изменять нельзя, второй так что бы там хоть присутствовали поля имя и пароль... заранее спасибо
← →
ЮЮ © (2005-01-17 06:08) [1]>первый селект изменять нельзя, второй так что бы там хоть присутствовали поля имя и пароль
нельзя изменять первый - напиши третий, четвертый и т.д., пока не получмшб нужный ркзультат :)
SELECT
u.username AS username_1, u.user_id AS user_id_1,
u2.username AS username_2, u2.user_id AS user_id_2,
u.user_sig_bbcode_uid, u.user_posts, u.user_from,
u.user_website, u.user_email, u.user_icq, u.user_aim,
u.user_yim, u.user_regdate,
u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig,
u.user_avatar, pm.*,
pmt.privmsgs_bbcode_uid, pmt.privmsgs_text
FROM
phpbb_privmsgs pm,
phpbb_privmsgs_text pmt,
phpbb_users u,
phpbb_users u2
WHERE
pm.privmsgs_id = 99
AND pmt.privmsgs_text_id = pm.privmsgs_id AND
pm.privmsgs_type=99
В нормально записанном запросе сразу видно, что первый запрос нелья не менять, а НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ, т.к. u2 и u НИКАК НЕ СВЯЗАНЫ c pm и pmt
← →
D3m (2005-01-17 07:21) [2]с чего это?... ведь без второго селекта, к. вставляю я, все работает! Мне нужно вставить второй селект так что бы заработал хотя бы второй селект, а на первый наплевать :)
← →
ЮЮ © (2005-01-17 07:35) [3]>с чего это?... ведь без второго селекта, к. вставляю я, все работает!
А на результаты работы посмотри :)
Посмотри сколько записей возвращает
SELECT
Count(*)
FROM
phpbb_privmsgs pm,
phpbb_privmsgs_text pmt
WHERE
pm.privmsgs_id = 99
AND pmt.privmsgs_text_id = pm.privmsgs_id AND
pm.privmsgs_type=99
и сколько
SELECT
Count(*)
FROM
phpbb_privmsgs pm,
phpbb_privmsgs_text pmt,
phpbb_users u,
phpbb_users u2
WHERE
pm.privmsgs_id = 99
AND pmt.privmsgs_text_id = pm.privmsgs_id AND
pm.privmsgs_type=99
>Мне нужно вставить второй селект так что бы заработал хотя бы второй селект, а на первый наплевать
А что, собственно, тебе надо, чтобы у всех строк, возвращаемых первым запромом, появилось ещё одно поле, в еотором стоял бы пароль и имя одного и того же пользователя, у которого user_id=2?
← →
Fay © (2005-01-17 07:44) [4]2 D3m (17.01.05 5:39)
Задолбали! "объединить два SELECT"a" - это будет внешнее объединение? Или какое?
> Мне нужно вставить второй селект так что бы заработал
> хотя бы второй селект, а на первый наплевать :)
Что это за бред?! Куда нужно вставить второй селект? Какого диаметра должен быть второй, чтобы на первый можно было наплевать?
Чё ваще надо?
P.S.
Учитесь оформлять код и собственные мысли.
← →
D3m (2005-01-17 08:58) [5]Fay это ты просто не понятливыЙ...
Мне нужно объяединить селекты выше стоящие командой UNION!
Однако при объединении вылазиет синтаксис еррор!..
← →
Наталия © (2005-01-17 09:20) [6]Если не вчитываться в этот бредовый запрос, а лишь формально обратить внимание на union, то явно видно, что количество полей не совпадает, так что почитай документацию по union внимательно...
← →
ЮЮ © (2005-01-17 09:48) [7]Поодерживает ли сервер UNION можно на чем и попроще :)
SELECT 1 npp, * FROM phpbb_users
UNION
SELECT 2, * FROM phpbb_users
Ну и, естественно, колмчесто полей и их типы должны совпадать.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.035 c