1
我一直試圖在SQL中顯示特定類型的結果,但一直未能。我想這是可能的,但不知道如何。 我讀過這篇文章show only those columns which have data value但無法解決我的問題。 我有4個表:sparametros(保存參數代碼和說明),sparametrosnumericos然而,通過它們的參數代碼,參數代碼是獨一無二的,例如,給定一個代碼,比如說1210,假設它是一個文本類型參數,那麼代碼不會以數字或備註參數存在。但它存在於一般的sparametros表中。換句話說,sparametros保存所有參數,其他表格表示該主集合的子集合。 我試過使用左連接,但無法獲得結果。SQL加入不同的表並僅顯示NOT NULL值
這是我到目前爲止有:
SELECT P.SPar00Id, P.SPar00Descripcion,
IF NOT ISNULL(N.SPar00NumValor) THEN
N.SPar00NumValor
ELSEIF NOT ISNULL(T.SPar00TextoValor) THEN
T.SPar00TextoValor
ELSE
M.SPar00MemoValor
FROM sparametros p
LEFT JOIN sparametrosnumericos N ON N.SPar00NumId = P.SPar00Id
LEFT JOIN sparametrostexto T ON T.SPar00TextoId = P.SPar00Id
LEFT JOIN sparametrosmemo M ON M.SPar00MemoId = P.SPar00Id
WHERE P.SIns00Id = 1 AND
N.SIns00Id = 1 AND
T.SIns00Id = 1 AND
M.SIns00Id = 1;
我使用MySQL現在(與Navicat的客戶端),同時還需要能夠獲得在SQL Server相同的結果。
執行此請求時收到的響應是: 「[Err] 1064 - 您的SQL語法有錯誤;請查看與您的MySQL服務器版本相對應的手冊, NOT ISNULL(N.SPar00NumValor)THEN「
+一個糾正語法錯誤 – 2014-12-09 12:24:52
不幸的是我得到與該查詢沒有結果。我不明白爲什麼,它看起來像你提供正確的說明。 – 2014-12-09 18:45:37