2013-09-29 48 views
0

我不知道我的代码有什么问题,有人可以帮我吗?我有两个表格rsales和salessumarry,并且让我说我的桌子上有这个ff值。从salessumarry从两个不同的值中选择数据和特定值

数据

receipt | date  | mode_payment | register_mode | 
0000012 |09/28/2013 |  cash  | sales  | 

日期从rsales

name | description | category | receipt | 
33uf | 10v  | capacitor | 0000012 | 
ic | ic12  | icc  | 0000012 | 

我的问题是这样的。我正在创建一个报告,我想根据管理员选择的日期范围选择所有数据。所以说,我选择选择所有register_mode =“销售”和日期从salessumarry 从2013年9月28日至2013年9月28日。所以对我来说困难的部分是我如何从我的“rsales”中选择值,其中来自salessumarry的“收据”=来自rsales的“收据”。请注意,我只想从诸如“名称”和“描述”之类的rsales中选择特定值。

我有下面的代码,但不知道这个内部连接的结构是否有效。请帮我

$result1 = mysql_query ("SELECT salessumarry .*, name as name ,description as description FROM salessumarry LEFT JOIN rsales ON rsales.receipt = salessumarry.receipt 
LEFT JOIN rsales ON rsales.sales = salessumarry.sales 
LEFT JOIN rsales ON rsales.date BETWEEN '$a' AND '$b' 
LEFT JOIN salessumarry ON salessumarry.date BETWEEN '$a' AND '$b' "); 
+1

查询使用很多,你不表中显示的列。你真的在两个表中都有'日期'列吗? – Barmar

+0

我没有rslaes的日期。只在salessumarry – user2656724

回答

0

我觉得你只是想要一个简单的JOIN:

SELECT s.*, r.name, r.description 
FROM salessummary s 
JOIN rsales r ON s.receipt = r.receipt 
WHERE s.register_mode = 'sales' 
AND s.date BETWEEN '$a' AND '$b' 
相关问题