簡體   English   中英

在MYSQL QUERY中轉換MS SQL Server查詢

[英]Convert MS SQL Server Query in MYSQL QUERY

我寫了一個查詢

SELECT dbo.boat.boatno, dbo.boat.boattype, dbo.staff.staffFirstName, dbo.staff.staffLastName,    
dbo.branch.branchAddress
FROM dbo.boat INNER JOIN
dbo.BoatOwner ON dbo.boat.OwnerNo = dbo.BoatOwner.OwnerNo INNER JOIN
dbo.branch ON dbo.boat.BranchNo = dbo.branch.branchno INNER JOIN
dbo.staff ON dbo.branch.branchno = dbo.staff.Branchno
WHERE (dbo.branch.branchAddress LIKE '%LONDON%')

但這在MYSQL QUERY中不起作用

如何將其轉換為MYSQL QUERY?

您需要知道MySQL的正確表名。 假設結構類似,我可以嘗試:

SELECT b.boatno, b.boattype, s.staffFirstName, s.staffLastName, br.branchAddress
FROM boat b INNER JOIN
     BoatOwner bo
     ON b.OwnerNo = bo.OwnerNo INNER JOIN
     branch br
     ON b.BranchNo = br.branchno INNER JOIN
     staff s
     ON br.branchno = s.Branchno
WHERE br.branchAddress LIKE '%LONDON%';

MySQL不使用SQL Server的三部分命名。 名稱中間沒有“ schema”。 列名稱中的其他句點可能是造成混亂的原因之一。 使用表別名應該在兩個數據庫中都可以使用,並使代碼更具可讀性。

只是一般原則的猜測,但也許更簡單

SELECT A.boatno, A.boattype, D.staffFirstName, D.staffLastName, C.branchAddress
FROM dbo.boat A, dbo.BoatOwner B, dbo.branch C, dbo.staff D
WHERE B.OwnerNo = A.OwnerNo AND C.branchno = A.BranchNo AND D.Branchno = C.branchno
AND C.branchAddress LIKE '%LONDON%'

可能有效。

首先,確保還可以SELECTdbo.boatdbo.BoatOwnerdbo.branchdbo.staff使用phpMyAdmin的環境。 有時候簡單的事情會使我們失望...

SELECT b.boatno, b.boattype, s.staffFirstName, s.staffLastName, br.branchAddress
FROM boat b INNER JOIN
 BoatOwner bo
 ON b.OwnerNo = bo.OwnerNo INNER JOIN
 branch br
 ON b.BranchNo = br.branchno INNER JOIN
 staff s
 ON br.branchno = s.Branchno
WHERE br.branchAddress LIKE '%LONDON%';
GROUP BY b.boatno

這樣還不夠嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM