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

SQL語法的問題`~關連表格後~無法以二個條件查詢~

答題得分者是:Fishman
lancelot1
一般會員


發表:1
回覆:2
積分:0
註冊:2005-01-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-05 09:55:21 IP:220.135.xxx.xxx 未訂閱
請問各位前輩~ 我現在有兩個table table1 ===================== serial1 serial2 id 110 9101001 01 111 9101002 03 110 9102002 02 table2 ====================== name idno alex 01 Tom 02 may 03 現在要找出等於table1.serial1也等於table1.serial2的資料, 但table1.id 要與table2.idno做關連~~ 故找出資料時~~要直接能帶出~~serial1及serial2及name 目前我以下列的方式撰寫~ SELECT table1.serial1, table1.serial2, table2.name FROM table1 INNER JOIN table2 ON table1.id = table2.idno WHERE (table1.serial1 = '110') AND (table1.serial2 = '9101001') 當where的條件有兩個時~~這樣寫會找不到資料, 但如果當where的條件只有一個時~~就ok`~如下 SELECT table1.serial1, table1.serial2, table2.name FROM table1 INNER JOIN table2 ON table1.id = table2.idno WHERE (table1.serial1 = '110') 請問各位前輩~~如何能以兩個條件來查詢呢?煩請解答~~謝謝~
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-05 10:11:01 IP:210.65.xxx.xxx 未訂閱
Hi lancelot1,    1.確認下列語法有資料被 select 出來
select  table1.serial1,
        table1.serial2,
        table2.name
from    table1 inner join table2 on table1.id = table2.idno
where   (table1.serial2 = '9101001')
2.若無,確認 table1.serial2 內是否含有空白 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
tonytop
中階會員


發表:6
回覆:114
積分:89
註冊:2003-12-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-05 10:24:50 IP:210.64.xxx.xxx 未訂閱
竟然希望serial1與serial2的資料都出來,用or不就好了,改成
 
SELECT table1.serial1, table1.serial2, table2.name
  FROM table1 INNER JOIN
    table2 ON table1.id = table2.idno
WHERE (table1.serial1 = '110') OR (table1.serial2 = '9101001')    
忙盲茫
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-05 10:35:38 IP:202.62.xxx.xxx 未訂閱
您好﹗    試試如下語法﹕ Select table1.serial1, table1.serial2, table2.name From table1, table2 Where table1.serial1 = '110' and table1.serial2 = '9101001' and table1.id = table2.idno    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
lancelot1
一般會員


發表:1
回覆:2
積分:0
註冊:2005-01-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-05 11:16:47 IP:220.135.xxx.xxx 未訂閱
to Fishman~ 果然好像是空白的問題`~將where的條件改成~ WHERE (table1.serial1 = '110') AND (table1.serial2 like '9101001%') 就可以`~但會有點怪怪的是~~有時執行找得到有時卻找不到半筆。但當找不到時把like '9101001%'改成like '9%'之後,就可以找到一堆資料,這時在慢慢將找值逐一輸入才又ok~~,例如找不到時~~先改為like '9%',等找到資料後,再改like '91%'、like '910%'、like '9101%'、like '91010%'like '910100%'、like '9101001%'才能確定找到我要的~~ 請問這是什麼造成的呢?還是有其它種更好的寫法`~請指教~謝謝`~ to tonytop 找出的資料一定要這個兩個條件都相等才行~~這樣才能確定它是唯一的一筆資料~~
lancelot1
一般會員


發表:1
回覆:2
積分:0
註冊:2005-01-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-05 12:14:05 IP:220.135.xxx.xxx 未訂閱
各位前輩~`我已找到問題點了~~~不是語法的問題`~而以資料庫的table2裡被人刪掉一些資料`~以致我輸入的值會找不到`~~,目前正補足中`` 以上`~謝謝各位前輩~~的幫忙`~謝謝~感恩`
系統時間:2024-05-19 11:16:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!