select document based on date rangeSelect range of non-identical date from different tableSelect Between Date...
Bitcoin automatically diverted to bech32 address
Sci fi book, man buys a beat up spaceship and intervenes in a civil war on a planet and eventually becomes a space cop
How to create a cover page like this?
What happens if you declare more than $10,000 at the US border?
Bacterial growth inhibitors used in Deodorants
What happens to someone who dies before their clone has matured?
If an area is covered in both Ball Bearings and Caltrops, does the creature need to move at half speed or quarter speed to avoid both their effects?
Was Rowling inspired by the railway station scene in Prince Caspian?
Father gets chickenpox, but doesn't infect his two children. How is this possible?
How quickly could a motion be passed to alter minimum age for POTUS?
What does paperwork mean in this sentence?
Coworker is trying to get me to sign his petition to run for office. How to decline politely?
This Website Needs More Cat Pictures?
Would life expectancy increase if we replaced healthy organs with artificial ones?
Why don't the fuse connections in programmable ROM cause the whole matrix to be shorted together?
Sing Baby Shark
Travel agent didn't append MR to my name and my name ends in MS. This caused my first name to be put as Ms on ticket
Why, in A Midsummer Night's Dream, does "square" means "quarrel"?
How to explain one side of Super Earth is smoother than the other side?
Should corporate security training be tailored based on a users' job role?
Found a major flaw in paper from home university – to which I would like to return
How can a variadic template be used to generate a left-associative expression (aka left fold) in c++11?
Finding Gaps in Date Ranges
Ethernet cable only works in certain positions
select document based on date range
Select range of non-identical date from different tableSelect Between Date Range MysqlSelect rows based on latest dateCalculate ROI for date rangeDate based partitioningConcurrent Users and Foreign KeysMySQL - Query a date rangeselect Data between two date range mysql return wrong valuesA query for results based on date rangeWhich columns should be indexed when all may be used in different search queries?
Structure
CREATE TABLE `template` (
`name` VARCHAR(16) NOT NULL COLLATE 'utf8_unicode_ci',
`valid` DATE NULL DEFAULT NULL,
UNIQUE INDEX `name` (`name`)
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB;
Data
I am trying to select right template name based on date. "Valid" column represents date till template is valid. If Template have 0000-00-00 or NULL valid date, that means that this template is current (latest). Template names does not suggest order (they can be random string).
Scenario:
If I have user, that will be created let's say 2020-01-01, then select should pick template with name "yes_4".
Scenario:
User was created in 2018-01-01, then template selected should have name "agreement_x"
Scenario:
User created in 2019-01-15 will select row with name "template_2"
So far:
:date = - user created
query
SELECT * FROM `template`
WHERE DATE(`valid`) < DATE(:date)
ORDER BY DATE(`valid`) DESC
LIMIT 1
mysql
New contributor
add a comment |
Structure
CREATE TABLE `template` (
`name` VARCHAR(16) NOT NULL COLLATE 'utf8_unicode_ci',
`valid` DATE NULL DEFAULT NULL,
UNIQUE INDEX `name` (`name`)
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB;
Data
I am trying to select right template name based on date. "Valid" column represents date till template is valid. If Template have 0000-00-00 or NULL valid date, that means that this template is current (latest). Template names does not suggest order (they can be random string).
Scenario:
If I have user, that will be created let's say 2020-01-01, then select should pick template with name "yes_4".
Scenario:
User was created in 2018-01-01, then template selected should have name "agreement_x"
Scenario:
User created in 2019-01-15 will select row with name "template_2"
So far:
:date = - user created
query
SELECT * FROM `template`
WHERE DATE(`valid`) < DATE(:date)
ORDER BY DATE(`valid`) DESC
LIMIT 1
mysql
New contributor
add a comment |
Structure
CREATE TABLE `template` (
`name` VARCHAR(16) NOT NULL COLLATE 'utf8_unicode_ci',
`valid` DATE NULL DEFAULT NULL,
UNIQUE INDEX `name` (`name`)
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB;
Data
I am trying to select right template name based on date. "Valid" column represents date till template is valid. If Template have 0000-00-00 or NULL valid date, that means that this template is current (latest). Template names does not suggest order (they can be random string).
Scenario:
If I have user, that will be created let's say 2020-01-01, then select should pick template with name "yes_4".
Scenario:
User was created in 2018-01-01, then template selected should have name "agreement_x"
Scenario:
User created in 2019-01-15 will select row with name "template_2"
So far:
:date = - user created
query
SELECT * FROM `template`
WHERE DATE(`valid`) < DATE(:date)
ORDER BY DATE(`valid`) DESC
LIMIT 1
mysql
New contributor
Structure
CREATE TABLE `template` (
`name` VARCHAR(16) NOT NULL COLLATE 'utf8_unicode_ci',
`valid` DATE NULL DEFAULT NULL,
UNIQUE INDEX `name` (`name`)
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB;
Data
I am trying to select right template name based on date. "Valid" column represents date till template is valid. If Template have 0000-00-00 or NULL valid date, that means that this template is current (latest). Template names does not suggest order (they can be random string).
Scenario:
If I have user, that will be created let's say 2020-01-01, then select should pick template with name "yes_4".
Scenario:
User was created in 2018-01-01, then template selected should have name "agreement_x"
Scenario:
User created in 2019-01-15 will select row with name "template_2"
So far:
:date = - user created
query
SELECT * FROM `template`
WHERE DATE(`valid`) < DATE(:date)
ORDER BY DATE(`valid`) DESC
LIMIT 1
mysql
mysql
New contributor
New contributor
edited 5 hours ago
Ing. Michal Hudak
New contributor
asked 6 hours ago
Ing. Michal HudakIng. Michal Hudak
1011
1011
New contributor
New contributor
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Something like
( SELECT *
FROM `template`
WHERE DATE(`valid`) >= DATE(:date)
ORDER BY DATE(`valid`)
LIMIT 1
)
UNION ALL
( SELECT *
FROM `template`
WHERE DATE(`valid`) <= '1970-01-01' OR `valid` IS NULL
)
ORDER BY `valid` DESC
LIMIT 1
or
SELECT *
FROM `template`
WHERE CASE WHEN DATE(`valid`) > '1970-01-01'
THEN `valid`
ELSE '2038-01-19'
END >= DATE(:date)
ORDER BY CASE WHEN DATE(`valid`) > '1970-01-01'
THEN `valid`
ELSE '2038-01-19'
END
LIMIT 1
and so on...
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "182"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Ing. Michal Hudak is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f230102%2fselect-document-based-on-date-range%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Something like
( SELECT *
FROM `template`
WHERE DATE(`valid`) >= DATE(:date)
ORDER BY DATE(`valid`)
LIMIT 1
)
UNION ALL
( SELECT *
FROM `template`
WHERE DATE(`valid`) <= '1970-01-01' OR `valid` IS NULL
)
ORDER BY `valid` DESC
LIMIT 1
or
SELECT *
FROM `template`
WHERE CASE WHEN DATE(`valid`) > '1970-01-01'
THEN `valid`
ELSE '2038-01-19'
END >= DATE(:date)
ORDER BY CASE WHEN DATE(`valid`) > '1970-01-01'
THEN `valid`
ELSE '2038-01-19'
END
LIMIT 1
and so on...
add a comment |
Something like
( SELECT *
FROM `template`
WHERE DATE(`valid`) >= DATE(:date)
ORDER BY DATE(`valid`)
LIMIT 1
)
UNION ALL
( SELECT *
FROM `template`
WHERE DATE(`valid`) <= '1970-01-01' OR `valid` IS NULL
)
ORDER BY `valid` DESC
LIMIT 1
or
SELECT *
FROM `template`
WHERE CASE WHEN DATE(`valid`) > '1970-01-01'
THEN `valid`
ELSE '2038-01-19'
END >= DATE(:date)
ORDER BY CASE WHEN DATE(`valid`) > '1970-01-01'
THEN `valid`
ELSE '2038-01-19'
END
LIMIT 1
and so on...
add a comment |
Something like
( SELECT *
FROM `template`
WHERE DATE(`valid`) >= DATE(:date)
ORDER BY DATE(`valid`)
LIMIT 1
)
UNION ALL
( SELECT *
FROM `template`
WHERE DATE(`valid`) <= '1970-01-01' OR `valid` IS NULL
)
ORDER BY `valid` DESC
LIMIT 1
or
SELECT *
FROM `template`
WHERE CASE WHEN DATE(`valid`) > '1970-01-01'
THEN `valid`
ELSE '2038-01-19'
END >= DATE(:date)
ORDER BY CASE WHEN DATE(`valid`) > '1970-01-01'
THEN `valid`
ELSE '2038-01-19'
END
LIMIT 1
and so on...
Something like
( SELECT *
FROM `template`
WHERE DATE(`valid`) >= DATE(:date)
ORDER BY DATE(`valid`)
LIMIT 1
)
UNION ALL
( SELECT *
FROM `template`
WHERE DATE(`valid`) <= '1970-01-01' OR `valid` IS NULL
)
ORDER BY `valid` DESC
LIMIT 1
or
SELECT *
FROM `template`
WHERE CASE WHEN DATE(`valid`) > '1970-01-01'
THEN `valid`
ELSE '2038-01-19'
END >= DATE(:date)
ORDER BY CASE WHEN DATE(`valid`) > '1970-01-01'
THEN `valid`
ELSE '2038-01-19'
END
LIMIT 1
and so on...
answered 5 hours ago
AkinaAkina
4,0361311
4,0361311
add a comment |
add a comment |
Ing. Michal Hudak is a new contributor. Be nice, and check out our Code of Conduct.
Ing. Michal Hudak is a new contributor. Be nice, and check out our Code of Conduct.
Ing. Michal Hudak is a new contributor. Be nice, and check out our Code of Conduct.
Ing. Michal Hudak is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Database Administrators Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f230102%2fselect-document-based-on-date-range%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown