Forum Webscript.Ru

Программирование => PHP => Тема начата: blacklight от 12 Августа 2010, 08:33:14

Название: SQL запрос INNER JOIN в php
Отправлено: blacklight от 12 Августа 2010, 08:33:14
Товарищи, возникла проблема...
есть 2 таблицы,

table1

id      |    Name    | description    | agroup
1          qwer           qwerttty         1
2          fdgfgh         dfdfgfgf          4
3          ываыва        ываыва           3

group

id     | mem_id | gr_id
1        1            1
2        2            1
3        2            2
4        1            3
5        3            4

написал запрос,


mysql_query("SELECT id, name, description, agroup FROM table1 inner join group on table1.agroup = group.gr_id WHERE group.mem_id=1;");


в ответ тишина... и мертвые с косами стоят...

а дожно быть что-то типа:
id      |    Name    | description    | agroup
1          qwer           qwerttty         1
3          ываыва        ываыва           3

т.к. mem_id = 1 есть только в строчках, где gr_id = 1 или 3, а они в свою очередь дают нам результат выше.

Заранее спасибо!
Название: SQL запрос INNER JOIN в php
Отправлено: brainkiller от 12 Августа 2010, 16:58:42
Народ, когда ж вы осознаете, что в РНР никогда не было, нет и, полагаю, не будет никаких иннер джойнов!

Запрос надлежит выполнить хотя бы в том же phpMyAdmin\'е и посмотреть, что он возвращает, потом исправить ошибки и снова выполнить — и так до полного просветления!
Название: SQL запрос INNER JOIN в php
Отправлено: ravshaniy от 12 Августа 2010, 18:30:51
sql скорее всего дает ошибку из за отсутствия точного указания какое поле id пытаетесь выгрузить. Две таблицы два поля с одинаковым названием, вот и ошибка. Поправьте запрос и попробуйте снова:
SELECT
  t.id, t.name,
  t.description, t.agroup
FROM
  table1 t
inner join
  group g
    on t.agroup = g.gr_id
WHERE g.mem_id=1