2013-09-09 6 views
0

У меня этот код, и он работает очень хорошо. У меня проблема с тем, как select из другой таблицы. Этот код показывает, как select и sum() из 2 разных таблиц. Что мне делать, если я собираюсь select из другой таблицы, которая называется tblproductlist. Я выбираю 3 таблицы в одном запросе. Я не знаю, как это сделать. Я ищу коды, но мне сложно подать заявку.выбор данных из нескольких таблиц

$result = mysql_query("SELECT (
SELECT SUM(s.total)-SUM(r.total) FROM rsales AS s WHERE r.pcode=s.pcode 
) as total, r.pcode 
FROM rreturn AS r 
GROUP BY r.pcode;"); 

Я пробовал этот код, но он возвращает ошибку.

$result = mysql_query("SELECT productlist.*, 
(SELECT SUM(s.total)-SUM(r.total) 
    FROM rsales AS s 
    WHERE r.pcode=s.pcode) as total, 
r.pcode FROM rreturn AS r 
GROUP BY r.pcode;"); 

например, у меня есть это значение ff.

tblproductlist

pcode | pname | 
111 | wire | 

tablersales

| total | pcode | 
| 200  | 111 | 
| 200  | 111 | 

tablerreturn

| total | pcode | 
| 200  | 111 | 

поэтому выход после вычитания его общей должно быть что-то вроде этого.

pcode | pname | total 
111 | wire | 200 | 
+0

Вы уже собрали все записи из двух таблиц, хотите ли вы, чтобы это общее количество отображалось вместе с боковыми значениями из других таблиц? – skv

+2

можете ли вы опубликовать структуру своих таблиц и конечный результат, который вы ожидаете? – Maximus2012

+0

это всего лишь суммарные значения. но я хочу выбрать имя продукта из «tblproductlist», но я не знаю, как это сделать. – user2656724

ответ

0

Очень грубо говоря, результаты запроса необходимо (а) имеют один и тот же straucture, (б) быть каким-то образом связаны между собой. Результат, который вы пытаетесь создать, не имеет свойства (по крайней мере, все части ваших запросов должны возвращать одинаковое количество строк). Похоже, вам нужно лучше понять sql, помимо объяснения немного лучшего, что вы нужно делать вниз по течению.