gpt4 book ai didi

mysql - 如何确保使用 sql 选择的配对集不会相互排除

转载 作者:行者123 更新时间:2023-11-29 07:57:26 24 4
gpt4 key购买 nike

所以我有一个包含字段 [Map] 和 [Data] (以及其他内容)的表。用户能够选择解析为[ map ]和[数据]数据对的输入。 [ map ]和[数据]的每个组合都是唯一的。我需要构建一个 sql 语句来选择这些独特的 [Map] 和 [Data] 组合的多对。

Public Function doesHavePriorSetRequirements(n As String) As Boolean
'Add Combination Recognition Here
Dim rs As Recordset
Dim qr As String, _
num As String
Dim i As Integer

'Check to see if nomenclature named so far blocks the passed unit
qr = "SELECT * FROM [" & n & "]"
For i = 0 To numOfFeatureElements Step 1
num = padStringWithToFrontOf("0", CStr(i), Digit2PadPremadeFeats)

If Not (Form_ReportGenerator.Controls("txtFeat" & num).Value = "" Or _
IsNull(Form_ReportGenerator.Controls("txtFeat" & num).Value) Or _
IsEmpty(Form_ReportGenerator.Controls("txtFeat" & num).Value)) Then

If qr = "SELECT * FROM [" & n & "]" Then
qr = qr & " WHERE ("
ElseIf Left(qr, Len("SELECT * FROM [" & n & "] WHERE")) = _
"SELECT * FROM [" & n & "] WHERE" Then
qr = qr & " AND "
End If
qr = qr & "([" & n & "].[Data] = """ & _
Form_ReportGenerator.Controls("txtFeat" _
& num).Value & """ AND [" & n & "].[Map] = " & _
getMapFromDesc(Form_ReportGenerator.Controls("lblFeat" & num).Caption) & ")"

End If
Next i
If Not qr = "SELECT * FROM [" & n & "]" Then
qr = qr & ")"
End If
qr = qr & ";"
Set rs = localDB.OpenRecordset(qr)

doesHavePriorSetRequirements = Not rs.EOF
End Function

这将产生一个字符串(qr),如下所示:

SELECT * FROM [DV] WHERE (([DV].[Data] = "A" AND [DV].[Map] = 15) 
AND ([DV].[Data] = "3" AND [DV].[Map] = 12));

有人可以帮我确认一下,生成的字符串会生成一个记录集,该记录集将包含两个对,而不是彼此排除的对。本质上,括号 [the and in ") AND ("] 之间的“AND”是否包括作为两个可能记录的对,或者它是否尝试将它们全部链接在一起,而不管我尝试将两个字段配对,因此寻找两个同一字段中的值导致没有生成任何记录?

最佳答案

SELECT * FROM [DV] 
WHERE
([DV].[Data] = "A" AND [DV].[Map] = 15)
OR
([DV].[Data] = "3" AND [DV].[Map] = 12)

关于mysql - 如何确保使用 sql 选择的配对集不会相互排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24743268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com