Официальный сайт студ.городка НГТУ
Программирование и БД » [mysql]inner join. Не могу составить запрос. 

#1  14.05.07 13:59

[mysql]inner join. Не могу составить запрос.

Таблица1
id
title
money

Таблица2
id
user
goods_id (при вставке равна id из таблицы 1)

Пытаюсь одним запросом сделать выборку по user и получить сумму money:
mysql_query("SELECT t.goods_id,SUM(f.money) FROM Таблица2 AS t INNER JOIN Таблица1 AS f ON t.goods_id=f.id WHERE t.user='$user]'") or die(mysql_error());

но не знаю куда GROUP BY id воткнуть:)
Как правильно сделать выборку?

Offline

#2  14.05.07 14:28

Re: [mysql]inner join. Не могу составить запрос.

а в чем трабл то?

Код: sql:

SELECT t.goods_id,SUM(f.money) 
FROM Таблица2 AS t 
INNER JOIN Таблица1 AS f ON t.goods_id=f.id 
WHERE t.user='$user' 
GROUP BY t.id

Исправлено VaGon (14.05.07 14:29)

Offline

#3  14.05.07 14:37

Re: [mysql]inner join. Не могу составить запрос.

Код: sql:

SELECT t.goods_id,SUM(f.money) AS total
FROM Таблица2 AS t 
INNER JOIN Таблица1 AS f ON t.goods_id=f.id 
WHERE t.user='$user' 
GROUP BY t.id

чёт не суммирует,выводит последнее значение

Offline

#4  14.05.07 15:41

Я
Профиль

Re: [mysql]inner join. Не могу составить запрос.

Код: = sql:

SELECT t.goods_id,SUM(f.money)
FROM table2 AS t
     INNER JOIN table1 AS f ON t.goods_id=f.id
WHERE t.user='$user'
GROUP BY t.user

Исправлено Я (14.05.07 15:52)

Offline

#5  14.05.07 15:42

Я
Профиль

Re: [mysql]inner join. Не могу составить запрос.

Не судьба значит...

Offline

#6  14.05.07 15:45

Re: [mysql]inner join. Не могу составить запрос.

а, блин, в таблицы не вкурил. У тебя случаем в Таблица2 id не автоинкемент?

Offline

#7  14.05.07 15:48

Re: [mysql]inner join. Не могу составить запрос.

VaGon, конечно

Offline

#8  14.05.07 15:54

Re: [mysql]inner join. Не могу составить запрос.

бгого, а фигли ты тогда хочешь суммировать то?
если ты хочешь для конкретного юзера получить список "заказов" по "продукту" и суммы по каждому "продукту", то так

Код: sql:

SELECT t.goods_id,SUM(f.money) 
FROM Таблица2 AS t 
INNER JOIN Таблица1 AS f ON t.goods_id=f.id 
WHERE t.user='$user' 
GROUP BY f.id

если сумму всех "заказов" для конкретного чувака

Код: sql:

SELECT t.goods_id,SUM(f.money) 
FROM Таблица2 AS t 
INNER JOIN Таблица1 AS f ON t.goods_id=f.id 
WHERE t.user='$user' 
GROUP BY t.user

, только тогда поле t.goods_id в результате теряет смысл

Offline

#9  14.05.07 16:00

Re: [mysql]inner join. Не могу составить запрос.

VaGon, последний вариант - само то :) спасиб )) t.goods_id не теряет смысл ,потому что из всех товаров нада выбрать те которые принадлежат юзеру

Offline

#10  15.05.07 08:33

Re: [mysql]inner join. Не могу составить запрос.

iDrum, ты фигню склепал, по моему

Пользователи
id
title
name
money

Заказы пользователя
id
user_id
goods_id

Товары
id
name
summ
--------------------------------------------
вот это правильная разкидка таблиц по корзине, правда она должна быть другая немного с доработками чтобы точно работатьЖ-)

Offline

Программирование и БД » [mysql]inner join. Не могу составить запрос. 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.247 сек.
Выполнено 14 запросов.