首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ms sql上连接5个表

在ms sql上连接5个表
EN

Stack Overflow用户
提问于 2015-01-09 06:18:40
回答 3查看 81关注 0票数 0

所以我在使用MS SQL时有一个小问题,我有五个tabel

代码语言:javascript
复制
CLIENTS , SALESMEN ,LOCATION,CARS,SALES 


Clients (ID_Client (PK), Name , Surname,Adress ,City , Phone) 

Salesmen (ID_Salesman (PK) , ID_Location (ForeignKey), Name , Surname,Adress ,City , Phone)

Location (ID_Location (PK) ,Location_Name) 

CARS (ID_Car (PK),MODEL,YEAR,Color)

Sales ( ID_Sale (PK) , ID_Klienti (FK) ,ID_Saleman (FK),ID_Location (PK) , ID_Car)

我想要内连接或(连接)其中的五个,我得到的结果是47行,而不是4到10之间的数字,我已经完成了,但它缺少了一些东西,我找不到我希望你们能帮助我的东西。

这就是我到目前为止所得到的

代码语言:javascript
复制
SELECT Clients.Name , Clients.Surname,Salesname.Name,Salesname.Surname,Location.Name_Locatiob 
FROM Clients 
INNER JOIN Sales
  ON Sales.ID_Klienti = Clients.ID_Client
INNER JOIN Punetoret
  ON Salesmen.ID_Salesman = Salesmen.ID_Salesman
INNER JOIN Location
  ON Location.ID_Location = Salesman.ID_Location
INNER JOIN Veturat  
  ON  Location.ID_Location= Cars.ID_Location

有人能帮我做进一步的工作吗?非常感谢,提前谢谢!

EN

回答 3

Stack Overflow用户

发布于 2015-01-09 06:24:11

您的第二个内部连接看起来可疑,因为连接的两端都引用了相同的表。

代码语言:javascript
复制
...
INNER JOIN Punetoret
    ON Salesmen.ID_Salesman = Salesmen.ID_Salesman
...

应该是吗?

代码语言:javascript
复制
...
INNER JOIN Punetoret
    ON Sales.ID_Salesman = Salesmen.ID_Salesman
...
票数 1
EN

Stack Overflow用户

发布于 2015-01-09 06:53:14

我想你加入错表了。在您的模式的基础上应该是这样的

代码语言:javascript
复制
SELECT 
  Clients.Name , Clients.Surname,Salesmen.Name,
  Salesmen.Surname,Location.Location_name 
FROM Clients 
INNER JOIN Sales
  ON Sales.ID_Klienti = Clients.ID_Client
INNER JOIN Salesmen
  ON Salesmen.ID_Salesman = Clients.ID_Salesman
INNER JOIN Location
  ON Location.ID_Location = Salesman.ID_Location
INNER JOIN CARS
  ON  Cars.ID_car = Sales.ID_Car

(我的下一个猜测是你的选择部分有一些拼写错误。)

票数 0
EN

Stack Overflow用户

发布于 2015-01-09 19:40:31

我犯了一个错误的翻译表,但在这里,他们应该是,以及我如何连接他们,所以我犯了错误,现在我想知道我不能找到.Thank你的时间!

Klientet (ID_Klienti (PK),Emri,Mbiemri,Adressa,Qyteti,Telefoni)

Punetoret (ID_Puntori (PK),ID_Lokacioni (ForeignKey),Emri,Mbiemri,Adressa,Qyteti,Telefoni)

洛卡西奥尼(ID_Lokacioni (PK),Emri_Lokacionit)

Veturat (ID_Veturat (PK),Modeli,Viti,Ngjyrat)

Shitjet ( ID_Shitja (PK),ID_Klienti (FK),ID_Puntori (FK),ID_Lokacioni(PK),ID_Vetura)

代码语言:javascript
复制
SELECT Klientet.Emri , Klientet.Mbiemri,Punetoret.Emri,
       Punetoret.Mbiemri,Lokacioni.Emri_Lokacionit ,Shitjet.Data_shitjes
FROM Klientet 
INNER JOIN Shitjet
  ON Shitjet.ID_Klienti = Klientet.ID_Klienti
INNER JOIN Punetoret
  ON Punetoret.ID_Punetori = Shitjet.ID_Punetori
INNER JOIN Lokacioni 
  ON Lokacioni.ID_Lokacioni = Punetoret.ID_Lokacioni
INNER JOIN Veturat  
  ON Lokacioni.ID_Lokacioni= Veturat.ID_Lokacioni      
WHERE Emri_Lokacionit = 'Prishtine' 
   or Emri_Lokacionit = 'Gjilan' 
   or Emri_Lokacionit = 'Mitrovice'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27850557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档