Recientemente en una entrevista de trabajo, me dieron el siguiente problema.Solución óptima para la pregunta de la entrevista
Decir que tengo la siguiente tabla
widget_Name | widget_Costs | In_Stock
---------------------------------------------------------
a | 15.00 | 1
b | 30.00 | 1
c | 20.00 | 1
d | 25.00 | 1
donde WIDGET_NAME se mantiene el nombre del widget, widget_costs es el precio de un widget, y en la acción es una constante de 1.
Ahora, para mi seguro comercial tengo un cierto deducible. Estoy buscando encontrar una declaración SQL que me diga cada widget y su precio excede el deducible. Así que si mi dedudctible es de $ 50.00 lo anterior solo regresarían
widget_Name | widget_Costs | In_Stock
---------------------------------------------------------
a | 15.00 | 1
d | 25.00 | 1
Desde widgets de B y C, donde se utiliza para satisfacer el deducible
Lo más cerca que pude conseguir es el siguiente
SELECT
*
FROM (
SELECT
widget_name,
widget_price
FROM interview.tbl_widgets
minus
SELECT widget_name,widget_price
FROM (
SELECT
widget_name,
widget_price,
50 - sum(widget_price) over (ORDER BY widget_price ROWS between unbounded preceding and current row) as running_total
FROM interview.tbl_widgets
)
where running_total >= 0
)
;
cual da yo
widget_Name | widget_Costs | In_Stock
---------------------------------------------------------
c | 20.00 | 1
d | 25.00 | 1
porque utiliza a y b para cumplir con la mayoría de los deductibl e
Yo estaba esperando que alguien podría ser capaz de mostrar la respuesta correcta
EDIT: he entendido la pregunta de la entrevista a estar preguntando esto. Dada una tabla de widgets y sus precios y dado un monto en dólares, resta tantos widgets como puedas hasta el monto en dólares y devuelve esos widgets y sus precios que quedan
No veo cómo se relacionan los datos de la tabla de muestra y la muestra. Una consulta para cada widget que exceda el precio deducible devolvería un conjunto vacío basado en sus muestras. Es posible que esté malinterpretando los criterios, pero si no, la muestra no se ajusta a las especificaciones. –
no creo que la pregunta tenga mucho sentido. ¿Cuál es la regla para cumplir con el deducible? – Randy
Su pregunta inicial parece lo suficientemente sencilla, pero su ejemplo parece que busca combinaciones que superen su deducible, que parece que está tratando de resolver subconjuntos en sql, lo que parece una idea terrible. –