Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

12下一頁(yè)
返回列表 發(fā)新帖
查看: 6704|回復(fù): 11
打印 上一主題 下一主題

[查詢] 請(qǐng)教sql語(yǔ)句,錯(cuò)哪了?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2010-12-30 20:30:36 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
DELETE 表.*, 表2.選擇
FROM 表1 INNER JOIN 表2 ON 表1.編號(hào) = 表2.編號(hào)
WHERE (((表2.選擇)=-1));

本帖被以下淘專輯推薦:

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享分享1 分享淘帖1 訂閱訂閱
2#
發(fā)表于 2010-12-30 20:40:46 | 只看該作者
DELETE 只能同時(shí)對(duì)一個(gè)表進(jìn)行操作
3#
發(fā)表于 2010-12-31 01:49:32 | 只看該作者
本帖最后由 roych 于 2011-8-31 20:20 編輯

應(yīng)該改為子查詢:
  1. DELETE 表.*, 表1.選擇, 表1.編號(hào)
  2. FROM 表1
  3. WHERE (((表1.選擇) In (select 表2.選擇 from 表2 where 表2.選擇=-1)) AND ((表1.編號(hào)) In (select 表2.編號(hào) from 表2)));
復(fù)制代碼
兩個(gè)月之前我也遇到過(guò)這個(gè)問(wèn)題,在這里提問(wèn)居然沒(méi)人回答~~汗,后來(lái)還是自己摸索出來(lái)的~~

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?注冊(cè)

x
4#
發(fā)表于 2010-12-31 09:47:00 | 只看該作者
roych 發(fā)表于 2010-12-31 01:49
應(yīng)該改為子查詢:
兩個(gè)月之前我也遇到過(guò)這個(gè)問(wèn)題,在這里提問(wèn)居然沒(méi)人回答~~汗,后來(lái)還是自己摸索出來(lái)的~~ ...

沒(méi)那么復(fù)雜吧?這樣應(yīng)該就可以了:
DELETE *
FROM 表1
WHERE dlookup("選擇","表2","編號(hào)=" & [編號(hào)])=-1;
5#
發(fā)表于 2010-12-31 09:58:38 | 只看該作者
todaynew 發(fā)表于 2010-12-31 09:47
沒(méi)那么復(fù)雜吧?這樣應(yīng)該就可以了:
DELETE *
FROM 表1

HoHo,之前沒(méi)想過(guò)用函數(shù)可以輕易解決,固守在字段之間。學(xué)習(xí)了……
向版主致敬!
6#
發(fā)表于 2010-12-31 10:07:17 | 只看該作者
roych 發(fā)表于 2010-12-31 09:58
HoHo,之前沒(méi)想過(guò)用函數(shù)可以輕易解決,固守在字段之間。學(xué)習(xí)了……
向版主致敬!

用in查詢速度會(huì)很慢,特別是表2記錄條數(shù)多的時(shí)候。
7#
發(fā)表于 2010-12-31 10:16:05 | 只看該作者
本帖最后由 todaynew 于 2010-12-31 10:18 編輯
sxgaobo 發(fā)表于 2010-12-30 20:30
DELETE 表.*, 表2.選擇
FROM 表1 INNER JOIN 表2 ON 表1.編號(hào) = 表2.編號(hào)
WHERE (((表2.選擇)=-1));


誠(chéng)如ZYP同志所論,DELETE不能針對(duì)兩個(gè)及以上的表進(jìn)行,因此可以這樣寫(xiě):
DELETE 表1.*
FROM 表2 INNER JOIN 表1 ON 表2.編號(hào)=表1.編號(hào)
WHERE (((表2.選擇)=-1));

三種寫(xiě)法以7樓效率最好,4樓次之,3樓最差。
8#
發(fā)表于 2010-12-31 11:38:44 | 只看該作者
todaynew 發(fā)表于 2010-12-31 10:16
誠(chéng)如ZYP同志所論,DELETE不能針對(duì)兩個(gè)及以上的表進(jìn)行,因此可以這樣寫(xiě):
DELETE 表1.*
FROM 表2 INNE ...

確實(shí)是第7樓的方法最佳.
9#
 樓主| 發(fā)表于 2010-12-31 13:47:54 | 只看該作者
謝謝各位的關(guān)注!知識(shí)就是這樣積累的啊
10#
發(fā)表于 2011-1-2 21:01:21 | 只看該作者
7樓正解,其它都不咋地。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-13 08:14 , Processed in 0.160274 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表