Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mqsql查询问题_Php_Sql_Database - Fatal编程技术网

Php Mqsql查询问题

Php Mqsql查询问题,php,sql,database,Php,Sql,Database,对不起,我是一个sql noob 我有两张桌子: Customer: customerid - int, pri-key,auto fname - varchar sname -varchar housenum - varchar streetname -varchar items itemid - int,pri-key,auto type - varchar collectiondate - date releasedate - date customerid - int 我需要一个sq

对不起,我是一个sql noob

我有两张桌子:

Customer:
customerid - int, pri-key,auto
fname - varchar
sname -varchar
housenum - varchar
streetname -varchar

items
itemid - int,pri-key,auto
type - varchar
collectiondate - date
releasedate - date
customerid - int
我需要一个sql查询,它将获取给定客户的所有项目,包括一些客户详细信息,特别是:fname+sname+type+collectiondate+releasedate+housenum+streetname

例如,如果joe bloggs有5个项目,那么将返回5行,列将如上所述

提前谢谢

select customer.*,
       items.*
   from
       customer,
       items
   where
       customer.customerid = items.customerid
   order by
       customer.customerID
更新1

更新1

通常不建议使用*,因为如果将新列添加到表中,则返回的数据集将发生更改,并且因为它使您依赖于表中列的顺序,无论是自己指定列名,都会将所有控制权留在您手中,并使应用程序更灵活地进行更改

此外,专门使用JOIN比只列出表名更好

通常不建议使用*,因为如果将新列添加到表中,则返回的数据集将发生更改,并且因为它使您依赖于表中列的顺序,无论是自己指定列名,都会将所有控制权留在您手中,并使应用程序更灵活地进行更改


此外,最好专门使用JOIN,而不仅仅是列出表名。

我很困惑,我看不到任何where子句……在我的情况下,用户从组合框中选择一个customerid,然后执行查询,在您的查询中,我将在哪里提供这个customerid?通常我会做smt,比如从customerid=5@brux只需添加WHERE子句,如您所述,在内部联接子句下面…我很困惑,我看不到任何WHERE子句…在我的情况下,用户从组合框中选择一个customerid,然后执行查询,在您的查询中,我将在何处提供此customerid?通常我会做smt,比如从customerid=5@brux正如您所描述的,只需在内部连接子句下面添加WHERE子句……请原谅我的无知,但我似乎找不到方法将组合框中选择的costomerid传递到查询中,以便它返回特定客户的行,我该如何修改您的代码才能做到这一点?如果您只需要ID为500的客户的数据,只需在查询末尾添加以下内容:其中customerid=500请原谅我的无知,但我似乎找不到方法将组合框中选择的客户ID传递到查询中,以便它返回该特定客户的行,我该如何修改您的代码才能做到这一点?如果您只需要ID为500的客户的数据,只需在查询末尾添加以下内容:where customerid=500
select a.customerid, fname, sname, type, collectiondate, releasedate, housenum, streetname 
from customer as a
inner join items as b on b.customerid = a.customerid
    select a.customerid, fname, sname, type, collectiondate, releasedate, housenum, streetname 
    from customer as a
    inner join items as b on b.customerid = a.customerid
where a.customerid = 4 //or whatever number or variable
select c.fname, c.sname, i.type, i.collectiondate, i.releasedate, c.housenum, c.streetname
from customers c inner join items i
on c.customerid = i.customerid