全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:5128
推到 Plurk!
推到 Facebook!

是否可以達成以下功能的SQL 輸出

答題得分者是:herbert2
blue
中階會員


發表:169
回覆:136
積分:81
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2014-11-06 17:10:41 IP:122.146.xxx.xxx 訂閱
Hi,各位先進大家好:
小弟使用Firemonkey
有一 Table Employee
ID Name HireDate
0001 John 2010/2/3
0002 Jack 2010/3/5
0003 Mary 2010/5/6
0004 Mac 1999/10/10
想要輸出到一個 Grid,但若所選的不存在於Table仍要列出,如 Select * from Employee where ID in ('0002', '0004', '0008', '0010')
Grid內容要為
ID Name HireDate
0002 Jack 2010/3/5
0004 Mac 1999/10/10
0008 null null
0010 null null
請教這SQL該如何下,
謝謝!
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2014-11-06 21:39:25 IP:202.39.xxx.xxx 訂閱
一般標準 SQL 大概無法達成您這需求.
但若用兩段式作法, 或可符您需求.

1. 先做一臨時 Table, 或原就預備好一空 Table, 將 IN 的內容先填入臨時 Table.
2. Select A.ID,B.Name,B.HireDate from TmpTable A,Employee B
where A.ID = B.ID( )
因不同廠之 DB 的 SQL 語法不同, Out Join 格式須配合調整.
blue
中階會員


發表:169
回覆:136
積分:81
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2014-11-07 08:01:03 IP:122.146.xxx.xxx 訂閱
感謝!
===================引 用 herbert2 文 章===================
一般標準 SQL 大概無法達成您這需求.
但若用兩段式作法, 或可符您需求.

1. 先做一臨時 Table, 或原就預備好一空 Table, 將 IN 的內容先填入臨時 Table.
2. Select A.ID,B.Name,B.HireDate from TmpTable A,Employee B
where A.ID = B.ID( )
因不同廠之 DB 的 SQL 語法不同, Out Join 格式須配合調整.
系統時間:2024-04-20 14:03:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!