1. SQL / Говнокод #2451

    −861.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SELECT * FROM obj WHERE telephon LIKE '***' AND off = 0;
    
    SELECT obj.* FROM 
    obj 
    INNER JOIN obj2ls ON obj.ObjID = obj2ls.ObjKod AND obj2ls.Bdate <= CURDATE() AND obj2ls.Edate >= CURDATE() AND obj2ls.off = 0 
    INNER JOIN ls ON obj2ls.LsKod = ls.lsid AND ls.off = 0
    INNER JOIN ls2contr ON ls.lsid = ls2contr.lskod AND ls2contr.bdate <= CURDATE() AND ls2contr.edate >= CURDATE() AND ls2contr.off = 0
    INNER JOIN contr ON ls2contr.contrkod = contr.contrid AND contr.off = 0
    WHERE obj.telephon LIKE '***' AND obj.off = 0 AND contr.contr_type = 2;

    О плохом проектировании базы данных.
    Был простой запрос, к нему добавили проверку 1го(!) доп. условия.
    Еще умиляют JOINы в духе *Kod = *Id.

    Запостил: Mihard, 19 Января 2010

    Комментарии (1) RSS

    • Иногда бывает непросто отличить базу данных от деревенского нужника.
      Ответить

    Добавить комментарий