मेरे पास कोड का एक टुकड़ा है जो मुझे एहसास हुआ कि शायद काफी अक्षम है, हालांकि मुझे यकीन नहीं है कि इसे कैसे सुधारें।

असल में, मेरे पास इस तरह की डेटाबेस तालिका है:

उदाहरण डीबी तालिका

A-G में से कोई भी या कई कॉलम मेरी खोज क्वेरी से मेल खा सकते हैं। अगर ऐसा है, तो मैं उस पंक्ति से VALUE क्वेरी करना चाहता हूं। हालांकि, मुझे VALUE की जरूरत नहीं है NULL के बराबर, इसलिए अगर ऐसा है, तो इसे देखते रहना चाहिए। यदि मेरी क्वेरी abc होती, तो मैं correct प्राप्त करना चाहता/चाहती।

नीचे मेरा वर्तमान कोड है, एक टेबल table के साथ db नाम के डेटाबेस का उपयोग करते हुए।

cur=db.cursor()

data="123"
fields_to_check=["A","B","C","D","E","F","G"]

for field in fields_to_check:

    "SELECT Value FROM table WHERE {}='{}'".format(field,data)
    query=cur.fetchone()
    if query and query !="NULL":
        break

db.close()

मुझे लगता है कि यह तथ्य कि यह 8 प्रश्न करता है, बहुत अक्षम है।

0
Jer Sto 23 अक्टूबर 2018, 12:35

1 उत्तर

सबसे बढ़िया उत्तर
cur=db.cursor()

data="123"
fields_to_check=["A","B","C","D","E","F","G"]
sub_query = ""

for field in fields_to_check:
    sub_query = sub_query + "or {}='{}' ".format(field,data)

if sub_query:
    query = "SELECT Value FROM table WHERE ("+ str(sub_query[2:]) +") and value IS NOT NULL;"

if query:
    cur.execute(query)
    rows = cur.fetchall()
    if rows:
      for row in rows:
        print(row)
0
Naveen k 23 अक्टूबर 2018, 10:33