-
詢問。 select * from a as v1 where not exists (select 1 from a where and <
刪除。 delete from a where bh not in (select bh from a as v1 where not exists (select 1 from a where and <
或者,如果確保只有 bh 字段不同,則其他一切都相同:
delete from a where bh not in (select min(bh) from a group by xm,no,je)
-
它可以這樣寫。
select distinct id , name , max(yy) from a
group by id , name
取具有相同 id 和名稱的最大 yy,以便只保留一條記錄。
-
如果刪除單個字段,則該字段可重複使用,如果刪除多個字段,則可重複使用。
如表1所示,資料如下:
id姓名 年齡1 張三 192 李思 203 王武 174 趙劉 21表2 資料:
id:姓名:age1:張三:192、李思、215、王武:14如果刪除與表1中表2相同的id:
從表 1 中刪除 其中 id in(從表 2 中選擇 id)。
如果刪除表1中與表2中相同的id、name和age資料,則從表1中刪除(其中表2中選擇1,其中表和表和表表。
-
如果 in 的效能很差,則可以在 where 上使用 delete from a inner join b on where <>
-
不知道什麼資料庫。
delete from a where email in(select from a
inner join b
onwhere <>
-
您的問題主要是實現行到列。
後者可以在Oracle資料庫中實現,具體SQL語句如下:
從表中選擇 field1, field2) group by field1
-
選擇表 B田。
1,left(field2,len(field2)-1) 作為 field2 from (
選擇字段 1,選擇字段 2+'、'from Table awhere 字段 1 = 表 C欄位 1
for xml path('') as 字段 2 來自表 A 表 C
按欄位 1 分組
關於bfor xml路徑表的用法,請參考。
-
我不明白你的意思:
我給你乙個參考 SQL 語句。
select
fromawhere
content
like%select
bfroma%'
-
select
distinct
x.場一,x欄位二。
fromaas
x,aasywhere
x.欄位 1 = y欄位一。
andx.欄位二。 =y.欄位二。
其中,X和Y是表A的別稱,本來是用來查詢至少上過兩門課的學生的,但是我改成了這個,這意味著查詢結果可能不止乙個,因為如果有三個,它們之間就不一樣了,它們也滿足這個條件。
-
select * from table a,table b where a.欄位 1 = b欄位 1 和 a欄位 2<>b欄位 2
-
我去試了一下。 這似乎有點問題,你應該得到很多這樣的繫結,例如:
表 A(主鍵、字段 1、字段 2)
a1(1,1-1,1-2);
a2(2,1-1,2-2);
a3(3,1-1,1-2);
所以有乙個交叉。
A1 和 A2 是乙個組,A2 和 A3 是乙個組,但 A1 和 A3 是一樣的,所以沒有直接指向應該返回什麼,那麼不存在的就是記錄?
我不知道我是否是這樣理解的。
-
按相同的字段對它們進行分組。
-
容易換個角度思考,再生一張表,邏輯簡明扼要,效率高。
select ..從 a,b 進入新錶,其中
-
表A和表B。 c c
delete from a where c not in (select c from b)
結果 A 和 B。 c c
是嗎?