how to replace 'table a'.'column b' with 'table b'.'column b' if 'table a'.'column a' matches 'table...
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I have 2 tables as below:-
TABLE A
-------------------------------
| product_id | price |
-------------------------------
| 1 | 2.2000 |
| 2 | 0.0000 |
| 3 | 0.3333 |
TABLE B
-------------------------------
| product_id | price_discount |
-------------------------------
| 1 | 1.8000 |
How can I using select statement to select out the price range for 2 tables as mentioned above?
Example:- SELECT * FROM TABLE A WHERE **price or price discount** BETWEEN 0 AND 2;
Expected result will show due to product_id have discount_price = 1.8 (within 0 to 2 price range).
-------------------------------
| product_id | price |
-------------------------------
| 1 | 2.2000 |
| 2 | 0.0000 |
| 3 | 0.3333 |
Please help. Thank you.
mysql select
add a comment |
I have 2 tables as below:-
TABLE A
-------------------------------
| product_id | price |
-------------------------------
| 1 | 2.2000 |
| 2 | 0.0000 |
| 3 | 0.3333 |
TABLE B
-------------------------------
| product_id | price_discount |
-------------------------------
| 1 | 1.8000 |
How can I using select statement to select out the price range for 2 tables as mentioned above?
Example:- SELECT * FROM TABLE A WHERE **price or price discount** BETWEEN 0 AND 2;
Expected result will show due to product_id have discount_price = 1.8 (within 0 to 2 price range).
-------------------------------
| product_id | price |
-------------------------------
| 1 | 2.2000 |
| 2 | 0.0000 |
| 3 | 0.3333 |
Please help. Thank you.
mysql select
add a comment |
I have 2 tables as below:-
TABLE A
-------------------------------
| product_id | price |
-------------------------------
| 1 | 2.2000 |
| 2 | 0.0000 |
| 3 | 0.3333 |
TABLE B
-------------------------------
| product_id | price_discount |
-------------------------------
| 1 | 1.8000 |
How can I using select statement to select out the price range for 2 tables as mentioned above?
Example:- SELECT * FROM TABLE A WHERE **price or price discount** BETWEEN 0 AND 2;
Expected result will show due to product_id have discount_price = 1.8 (within 0 to 2 price range).
-------------------------------
| product_id | price |
-------------------------------
| 1 | 2.2000 |
| 2 | 0.0000 |
| 3 | 0.3333 |
Please help. Thank you.
mysql select
I have 2 tables as below:-
TABLE A
-------------------------------
| product_id | price |
-------------------------------
| 1 | 2.2000 |
| 2 | 0.0000 |
| 3 | 0.3333 |
TABLE B
-------------------------------
| product_id | price_discount |
-------------------------------
| 1 | 1.8000 |
How can I using select statement to select out the price range for 2 tables as mentioned above?
Example:- SELECT * FROM TABLE A WHERE **price or price discount** BETWEEN 0 AND 2;
Expected result will show due to product_id have discount_price = 1.8 (within 0 to 2 price range).
-------------------------------
| product_id | price |
-------------------------------
| 1 | 2.2000 |
| 2 | 0.0000 |
| 3 | 0.3333 |
Please help. Thank you.
mysql select
mysql select
edited Nov 29 '18 at 4:27
Madhur Bhaiya
19.7k62336
19.7k62336
asked Nov 29 '18 at 3:51
EddyEddy
80111
80111
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
A simple LEFT JOIN
may suffice between the two tables. LEFT JOIN
is done because we can have non-matching rows between the two tables.
Edit: Previous version did extra checking of tb.price_discount IS NOT NULL
; but it is really not needed, and BETWEEN..AND
is enough.
It is explained in the OR
operator documentation, that 1 OR NULL = 1
SELECT ta.*
FROM tablea AS ta
LEFT JOIN tableb AS tb
ON ta.product_id = tb.product_id
WHERE ta.price BETWEEN 0 AND 2
OR
tb.price_discount BETWEEN 0 AND 2
Above solution is based on the assumption that there will be 0 or 1 rows corresponding to a product_id
in the tableb
. If there can be more, then a GROUP BY
may be needed.
1
thanks @Madhur, u answered my question.
– Eddy
Nov 29 '18 at 4:35
@henry check the updated version please. I optimized it further.
– Madhur Bhaiya
Nov 29 '18 at 4:42
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
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: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
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
});
}
});
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%2fstackoverflow.com%2fquestions%2f53531583%2fhow-to-replace-table-a-column-b-with-table-b-column-b-if-table-a-colu%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
A simple LEFT JOIN
may suffice between the two tables. LEFT JOIN
is done because we can have non-matching rows between the two tables.
Edit: Previous version did extra checking of tb.price_discount IS NOT NULL
; but it is really not needed, and BETWEEN..AND
is enough.
It is explained in the OR
operator documentation, that 1 OR NULL = 1
SELECT ta.*
FROM tablea AS ta
LEFT JOIN tableb AS tb
ON ta.product_id = tb.product_id
WHERE ta.price BETWEEN 0 AND 2
OR
tb.price_discount BETWEEN 0 AND 2
Above solution is based on the assumption that there will be 0 or 1 rows corresponding to a product_id
in the tableb
. If there can be more, then a GROUP BY
may be needed.
1
thanks @Madhur, u answered my question.
– Eddy
Nov 29 '18 at 4:35
@henry check the updated version please. I optimized it further.
– Madhur Bhaiya
Nov 29 '18 at 4:42
add a comment |
A simple LEFT JOIN
may suffice between the two tables. LEFT JOIN
is done because we can have non-matching rows between the two tables.
Edit: Previous version did extra checking of tb.price_discount IS NOT NULL
; but it is really not needed, and BETWEEN..AND
is enough.
It is explained in the OR
operator documentation, that 1 OR NULL = 1
SELECT ta.*
FROM tablea AS ta
LEFT JOIN tableb AS tb
ON ta.product_id = tb.product_id
WHERE ta.price BETWEEN 0 AND 2
OR
tb.price_discount BETWEEN 0 AND 2
Above solution is based on the assumption that there will be 0 or 1 rows corresponding to a product_id
in the tableb
. If there can be more, then a GROUP BY
may be needed.
1
thanks @Madhur, u answered my question.
– Eddy
Nov 29 '18 at 4:35
@henry check the updated version please. I optimized it further.
– Madhur Bhaiya
Nov 29 '18 at 4:42
add a comment |
A simple LEFT JOIN
may suffice between the two tables. LEFT JOIN
is done because we can have non-matching rows between the two tables.
Edit: Previous version did extra checking of tb.price_discount IS NOT NULL
; but it is really not needed, and BETWEEN..AND
is enough.
It is explained in the OR
operator documentation, that 1 OR NULL = 1
SELECT ta.*
FROM tablea AS ta
LEFT JOIN tableb AS tb
ON ta.product_id = tb.product_id
WHERE ta.price BETWEEN 0 AND 2
OR
tb.price_discount BETWEEN 0 AND 2
Above solution is based on the assumption that there will be 0 or 1 rows corresponding to a product_id
in the tableb
. If there can be more, then a GROUP BY
may be needed.
A simple LEFT JOIN
may suffice between the two tables. LEFT JOIN
is done because we can have non-matching rows between the two tables.
Edit: Previous version did extra checking of tb.price_discount IS NOT NULL
; but it is really not needed, and BETWEEN..AND
is enough.
It is explained in the OR
operator documentation, that 1 OR NULL = 1
SELECT ta.*
FROM tablea AS ta
LEFT JOIN tableb AS tb
ON ta.product_id = tb.product_id
WHERE ta.price BETWEEN 0 AND 2
OR
tb.price_discount BETWEEN 0 AND 2
Above solution is based on the assumption that there will be 0 or 1 rows corresponding to a product_id
in the tableb
. If there can be more, then a GROUP BY
may be needed.
edited Nov 29 '18 at 4:41
answered Nov 29 '18 at 4:32
Madhur BhaiyaMadhur Bhaiya
19.7k62336
19.7k62336
1
thanks @Madhur, u answered my question.
– Eddy
Nov 29 '18 at 4:35
@henry check the updated version please. I optimized it further.
– Madhur Bhaiya
Nov 29 '18 at 4:42
add a comment |
1
thanks @Madhur, u answered my question.
– Eddy
Nov 29 '18 at 4:35
@henry check the updated version please. I optimized it further.
– Madhur Bhaiya
Nov 29 '18 at 4:42
1
1
thanks @Madhur, u answered my question.
– Eddy
Nov 29 '18 at 4:35
thanks @Madhur, u answered my question.
– Eddy
Nov 29 '18 at 4:35
@henry check the updated version please. I optimized it further.
– Madhur Bhaiya
Nov 29 '18 at 4:42
@henry check the updated version please. I optimized it further.
– Madhur Bhaiya
Nov 29 '18 at 4:42
add a comment |
Thanks for contributing an answer to Stack Overflow!
- 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%2fstackoverflow.com%2fquestions%2f53531583%2fhow-to-replace-table-a-column-b-with-table-b-column-b-if-table-a-colu%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