Выдача запроса с использованием AS в предложении WHERE

Вот решение, с которым я пришел, с использованием отражения, чтобы фактически преобразовать кортеж в [Int8] (см. Любой способ перебора кортежа в swift? ), а затем преобразует его в строку используя методыCString ... ().

func arrayForTuple(tuple:T) -> [E] {
    let reflection = reflect(tuple)
    var arr : [E] = []
    for i in 0..(tuple:T) -> String? {
        var charArray = arrayForTuple(tuple) as [Int8]
        var nameString = String.fromCString(UnsafePointer(charArray))
        if nameString == nil {
            nameString = String.fromCStringRepairingIllFormedUTF8(UnsafePointer(charArray)).0
        }
        return nameString
    }
}

0
задан Camilo Terevinto 13 July 2018 в 15:54
поделиться

1 ответ

Я считаю, что вы хотите:

SELECT SUM(DATEDIFF(SECOND, a.intime, a.outtime)) as total
FROM table1 a JOIN
     table2 b
     ON a.empKey = b.employeeKey 
WHERE CONVERT(DATE, outtime) BETWEEN '2018/07/12 4:00 AM' AND '2018/07/12 5:00 PM' ;
0
ответ дан Gordon Linoff 17 August 2018 в 12:30
поделиться
  • 1
    Я попытался включить ваш ответ, но теперь я получаю ошибку & quot; total & quot; не принадлежит к таблице. Я считаю, что часть проблемы пытается добавить к уже существующему запросу, который уже содержит несколько подвыборов с помощью sum (). Однако это показалось, что все работает вчера, а не сегодня, и ничего не изменилось. – guitarmaster 13 July 2018 в 16:39
  • 2
    @guitarmaster. , , total используется здесь только как псевдоним столбца. Этот запрос не может сгенерировать эту ошибку. – Gordon Linoff 13 July 2018 в 18:14
Другие вопросы по тегам:

Похожие вопросы: