我有两张桌子:
tbl1(ID, Name, Sex, OrderDate)
tbl2(OrderDate, OrderCode)
我尝试显示来自tbl1 (ID, Name, Sex, OrderDate)
的{{1}}和 一列中的所有数据。
我试过这个
tbl2(OrderCode)
但它显示重复数据。像这样
我已经搜索了一段时间,但只看到他们使用SELECT tbl1.*, tbl2.OrderCode FROM tbl1, tbl2;
的mySQL查询,但它出现了语法错误子句。
我希望它看起来像 ID Name Sex OrderDate OrderCode OrderCode是autoNumber Random,这就是为什么我把它放在其他表中,因为Access不允许在同一个表中使用2个autoNumber
答案 0 :(得分:0)
您正在进行CROSS JOIN,从而产生笛卡尔积
您应该在2个表中常见的字段上加入以限制返回的行。
在你的情况下,我在两个表上看到的唯一字段是OrderDate,这有点奇怪。
试试这个
SELECT tbl1.*, tbl2.OrderCode FROM tbl1, tbl2 WHERE tbl1.OrderDate=tbl2.OrderDate
答案 1 :(得分:0)
答案 2 :(得分:0)
请注意您的表tbl1(ID,Name,Sex,OrderDate) tbl2(OrderDate,OrderCode)没有关系,你必须先将这两个表关联起来才能选择列。 试试这个: 新表: tbl1(ID,Name,Sex,OrderDate) tbl2(ID,OrderDate,OrderCode) tbl1.Id是主键,Tbl2.ID是外键 我会在Tbl1中选择所有列,在tbl2中选择一列 (无论案例限制)
Select tbl1.Id,tbl1.name,tbl1.sex,tbl1.Orderdate,tbl2.orderdate from tbl1,tbl2 where tbl1.id=tbl2.id
答案 3 :(得分:0)
如果要获得与两个表有关系的结果,则表示您要使用Join。
当你有多余的结果时,你也可以使用distinct。
SELECT DISTINCT tbl1.*, tbl2.OrderCode FROM tbl1, tbl2;