-1

各位程序员好,

更好地描述我的问题:

我有 2 个包含很多列的表。它们有一些共同点。

表 1 是包含客户 ID、名字、姓氏、公司、街道、邮政编码、城市、类别等的客户表。

表 2 是 Bookings 表,其中包含 First Name、Last Name、Company、Street、Zipcode 和 City。表 2 有额外的 Coloums Room_ID、Date、Customer_ID 等。愚蠢的事情是:Customer_ID 在某些条目上是空的。

现在我必须从预订房间的 Costumer 表中获取每个 Person 的数据。

经过一些研究并阅读了低谷http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-JoinsHow to do an INNER JOIN on multiple columns我认为我需要一个内部联接.

我的问题是How to do an INNER JOIN on multiple columns中推荐的方法并不适合我的需要,因为我想在 2 个列上加入,而不是在同一个单列上加入 2 次。

到目前为止,这是我的查询:

'SELECT tbl1.ID, tbl1.company, tbl1.title, tbl1.lastname, tbl1.fistname, tbl1.street, tbl1.city, tbl1.zipcode, tbl1.phone, tbl1.email, tbl1.category_ID, tbl1.Hotel_ID, tbl2.*
                 FROM customer AS tbl1
           INNER JOIN booking AS tbl2
                   ON 
                WHERE '.$searchterms.'
             GROUP BY tbl1.firstname, tbl1.lastname, tbl2.room, tbl2.date'

这是连接方式的一些伪代码:

'Select needed cloumns
                 FROM customer AS tbl1
           INNER JOIN booking AS tbl2 
                   ON tbl1.firstname=tbl2.firstname AND tbl1.lastname=tbl2.lastname
                WHERE '.$searchterms.'
             GROUP BY tbl1.firstname, tbl1.lastname, tbl2.room, tbl2.date'

我需要的是一个提示、一个解释或一个链接来帮助我想出一个解决方案,我会非常感激的。关于已解释的问题,我遇到了某种停电。我希望你能帮助我。

4

2 回答 2

0
'SELECT ID, company, title, lastname, fistname, street, city, zipcode, phone, email,     category_ID, Hotel_ID
             FROM customer AS tbl1
       INNER JOIN booking AS tbl2
               ON tbl1.id=tbl2.id
            WHERE relevantcolumn='searchterms'
         GROUP BY tbl1.firstname, tbl1.lastname, tbl2.room, tbl2.date'
于 2013-08-19T10:41:03.970 回答
-1

对不起,如果我的答案是错误的,但我不确定我的问题是否正确,但无论如何,我会尽力回答这个问题。连接目标是能够查询多个相关表中的数据,我想你已经知道了,但重点是,你需要两个表之间的链接区域,它应该是唯一的,换句话说,第二个表中的customerId(外键)应该是第一个(主键)的客户ID,然后,链接完成后,您可以使用条件细化搜索。两个表之间的链接是用“ON”完成的,但你似乎把它误认为是“where”子句。所以,简单地说,

SELECT tbl1.*, tbl2.* 
FROM tbl1 INNER JOIN tbl2 
ON tbl1.id=tbl2.Customer_ID 
WHERE WhateverConditions 
GROUP BY tbl1.firstname, tbl1.lastname, tbl2.room

我希望我回答了你的需要。

于 2013-08-19T10:47:59.833 回答