Selecione distinto depois de certa data [fechado]


-1

Eu tenho um banco de dados com 3 tabelas: classes, teacher e taught:

classes

  • ID (classNum)
  • title (classesType)
  • custo (classesCost)

professor

  • int exclusivo (teacherNum)

ensinado

  • classNum (chave estrangeira)
  • teacherNum (chave estrangeira)
  • campo de data (classdate)

Eu preciso escrever uma consulta em SQL que retornará uma lista de classes exclusivas que foram ensinadas desde 6 de agosto de 2015, classificadas de mais caras a menos dispendiosas

Eu usaria distinta para isso? Para obter todos os resultados exclusivos ou aproveitar as chaves estrangeiras.

Isso vai funcionar?


2
Bem vindo ao Super Usuário. Nós não somos um serviço de escrita de scripts. Esperamos que os usuários nos digam o que tentaram até agora (incluindo o código que estão usando) e onde estão presos, para que possamos ajudar com problemas específicos. Perguntas que só pedem código são muito amplas e provavelmente serão colocar em espera ou fechado . Por favor leia Como faço uma boa pergunta? .
DavidPostill

3
Parece uma pergunta de lição de casa.
Xavierjazz

Respostas:


1

Sim, algo como:

SELECT DISTINCT * 
FROM classes
WHERE ID IN 
(SELECT classNum  FROM taught WHERE date = CONVERT(...,Aug 6 2015 ))
ORDER BY cost ASC

1
Acabei de fazer isso
albo

1
Eu também poderia fazer WHERE date & gt; = Convert (datetime, '2010-11-01') Qual é o uso das reticências aqui?
albo

Sim, possivelmente WHERE date & gt; = Convert (datetime, '2010-11-01', 112) msdn.microsoft.com/de-de/library/ms187928%28v=sql.120%29.aspx
duDE

-1

Eu usei o seguinte constructo ...

CAST (FLOOR (CAST (@date as FLOAT)) como DateTime);

isso remove o tempo da data convertendo-o em float e truncando a parte "time", que é o decimal do float.

Parece um pouco desajeitado, mas funciona bem em um grande conjunto de dados (~ 100.000 linhas) que uso repetidamente ao longo do dia.


SELECT distinct (CONVERT (varchar (10), {sua coluna de data}, 111)) FROM {nome da sua tabela}
Bekzod Buranov
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.