0

2 つのテーブルがあります:
client: (backoffice_users_id, idfile, validation_file)
transmission: (backoffice_users_id, idfile, nbr_files)

ファイル数が最小で、validation_file=1のクライアントを表示したい

私はこのようなことをしました、それは私に最小数を与えますが、validation_file=0 ではなく validation_file=1 で、誰でも私を助けてくれますか?

SELECT `transmission`.* 
FROM `transmission`
INNER JOIN `client`
ON client.backoffice_users_id=transmission.backoffice_users_id 
WHERE (transmission.idfile='2') 
  AND (client.validation_file<>0) 
  AND (transmission.nbr_files=(
         SELECT min(nbr_files) 
         FROM transmission 
         WHERE transmission.idfile='2')) 
GROUP BY `client`.`backoffice_users_id`
LIMIT 1 
4

1 に答える 1

0

あなたの意味がわからないtransmission.idfile='2'ので、「ファイルの最小数とvalidation_file = 1」の部分と、1回の送信内の最小数のファイルのみに答えます(複数の送信で合計されません):

SELECT * FROM `transmission`
INNER JOIN `client` ON 
    `client`.`backoffice_users_id` = `transmission`.`backoffice_users_id` AND
    `client`.`validation_file` = 1
ORDER BY `transmission`.`nbr_files` ASC
LIMIT 1
于 2013-11-10T14:10:32.853 に答える