2013-05-21 58 views
1

請,我有這個疑問這是在SQL從SQL查詢到mysql相當於

select sum(lhd.sasih)-sum(lhd.sasid) as sasi,lhd.kartllg as kartllg 
from e2013..levizjehd lhd,supersick_db..produkt as prod 
where lhd.kartllg=prod.kodfinance 
group by lhd.kartllg 

我需要寫它等價的,但在MySQL的 我得到這個錯誤:

Invalid object name 'e2013..levizjehd'. 

我需要的是翻譯它在MySQL查詢,但我不知道什麼..代表在SQL中。 請欣賞一些幫助。

我如何連接

$host="192.168.10.250\\f501"; 
$uid="sa"; 
$passVal=""; 
$database="SUPERSICK_DB"; 
$objConnect = odbc_connect("Driver={SQL Server};Server=$host;Database=$database;",$uid, $passVal) or die("Connection could not established"); 

謝謝!

+0

** e2013 **是DataBase名稱,** levizjehd **是MS-SQL中的對象名稱。它是用三部分名稱書寫的。 – Romesh

+0

如何在PHP中獲取此文件? 我應該如何形成連接? – alandr

+0

我已經更新了這個問題.. – alandr

回答

1

似乎它指的是數據庫名稱。所以就像'e2013'是一個數據庫,'supersick_db'是另一個。第一個包含'levizjeh'表,另一個包含'produkt'表。

如果你在同一個mysql中有兩個表,那麼你可以跳過這個名字和..。

SELECT SUM(lhd.sasih)-SUM(lhd.sasid) AS sasi, lhd.kartllg AS kartllg 
FROM levizjehd lhd, produkt prod 
WHERE lhd.kartllg = prod.kodfinance 
GROUP BY lhd.kartllg 

您可以改善這種查詢:

SELECT SUM(lhd.sasih)-SUM(lhd.sasid) AS sasi, lhd.kartllg AS kartllg 
FROM levizjehd lhd 
INNER JOIN produkt prod ON lhd.kartllg = prod.kodfinance 
GROUP BY lhd.kartllg 
+0

我需要從sql到php這個信息,所以,我已經更新了我的連接方式在我的問題,請你看看? – alandr

+0

多數民衆贊成在不同的問題,請問問題不同(甚至更好:做一些研究,該問題已被回答) –

+0

對不起,我不知道它是不同的事情.. 這是我如何連接到SQL Server一般來說,這是我如何使用它,但與這個查詢我不知道如何把它放在一起.. – alandr

1

我覺得Angelo的覆蓋問題,但請注意,以下是不等效的:

SUM(lhd.sasih) - SUM(lhd.sasid) 
SUM(lhd.sasih - ldh.sasid) 

這些表達式可以潛在回報不同的結果,如果任一列是可空的:聚合忽略空值。例如。如果第一行是{10,null},第二行是{100,50},則第一行返回10 + 10 - 50;第二個100 - 50.