假設有沒有空,你的號碼是整數,你的字符串沒有空格需要被修剪:
CREATE TABLE [dbo].[Mailbox](
[ID] [int] NOT NULL,
[MailboxId] [varchar](10) NULL,
[Connection] [int] NULL,
[EmailId] [int] NULL,
CONSTRAINT [PK_Mailbox] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
INSERT INTO mailbox (ID, mailboxid, connection, emailid) Values (0001, 'M0001', 1, 9999);
INSERT INTO mailbox (ID, mailboxid, connection, emailid) Values (0002, 'M0001', 2, 9999);
INSERT INTO mailbox (ID, mailboxid, connection, emailid) Values (0003, 'M0002', 1, 9998);
INSERT INTO mailbox (ID, mailboxid, connection, emailid) Values (0004, 'M0002', 1, 9998);
INSERT INTO mailbox (ID, mailboxid, connection, emailid) Values (0005, 'M0002', 2, 9997);
INSERT INTO mailbox (ID, mailboxid, connection, emailid) Values (0006, 'M0003', 1, 9996);
select m1.Id, m2.id
from Mailbox m1, Mailbox m2
Where m1.id <> m2.id
AND M1.mailboxid = m2.mailboxid
and m1.emailid = m2.emailid
and m1.connection <> m2.connection
and m1.id < m2.id
應該給你:
Id id
1 2
您可以修剪的郵箱ID如果有必要,並添加空檢查,如果這也是一個問題。
根據你的問題,我不明白你爲什麼要0003-0004返回。 – TDP
糟糕...複製/粘貼錯誤。 0004的連接應該是2.我會編輯。謝謝你的收穫。 –