What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 131 Stack Exchange communities.

Due to a a question having a subtle ambiguity or being misinterpreted, all 3 answers are wrong. Should I down vote them, delete the question, or something different? All 3 answers do not work and when I figured out how to do it, none of the answers were remotely close.

I mean I'm sure the answerers weren't trying to give wrong information, what they said was answering a different question.

EDIT: it is my question. I could edit it to make it more clear but that wouldn't change the fact the answers are still wrong. Also if a point is unclear (especially if it's subtle and important) I kind of think it is the responsibility of the answerer (as well as the asker) to clarify.

It's this question here. The correct solution involves a intersection (which is the exact opposite of a `union).

share|improve this question
1  
Is it your question (since you said "delete the question")? –  BoltClock's a Unicorn Sep 17 '12 at 7:27
    
Yes it is my question. –  Celeritas Sep 17 '12 at 7:28
1  
For future SQL questions showing example source data and desired results for that data will likely avoid such ambiguity. Why would you possibly want to INTERSECT ids from tables called Carpets and Curtains? –  Martin Smith Sep 17 '12 at 7:36
    
I also went through and gave you a (lengthier than expected) explanation of why each of the answers works the way you want with an example of each of the joins and how they all work together. stackoverflow.com/questions/12443904/… –  Fluffeh Sep 17 '12 at 8:24
    
@Fluffeh ok thanks I'll read it but just so you know when I tried the suggested ways they did produce the wrong output, unless I'm mistaking. –  Celeritas Sep 17 '12 at 8:26
    
@Celeritas That's why I took more time and effort in explaining it than I might otherwise. Better to get you off on the right foot. –  Fluffeh Sep 17 '12 at 8:28
    
@Fluffeh thanks much appreciated, though I'm afraid you may have misunderstood the question too. See your answer on SO. Nonetheless I learned from your answer :-) –  Celeritas Sep 17 '12 at 8:36
    
@Celeritas I added the final edit in there for you which I hope explains the joins a bit better again :) –  Fluffeh Sep 17 '12 at 8:46

3 Answers 3

up vote 4 down vote accepted

The first thing to do is to learn from this. When you are asking a question, you need to follow that all wonderful advice (written somewhere) - and make sure that your future questions are clear as a bell. Even if it seems impossible, put that super obvious statement in there so there cannot be confusion in what you are asking.

Secondly, don't delete the question - folks put time in to answer it, and it might well help others on the site. If you think you might salvage it by editing and getting other replies, do so (Probably better to leave the original content there and add a rather big EDIT: line to the bottom) though so that the answers given don't attract downvotes (they were right at the time).

If you think it cannot be salvaged through editing to read how you meant it, I would suggest editing it ever so slightly, so the next person who reads the question sees the answers that fit that question. And post a new question.

Edit: On looking through the three answers provided, they do actually answer your question:

I want to return rows that both have a certain value in a certain column. For example in tables Carpets and Curtains, I want to get the ids of rows where the colour is 'light yellow'.

You have an example of a union with a where clause on each - this will output the data from each table on a separate row of your result (the same output as an intersect)

And you have two examples of a join where you can return the data from both tables in a single row of data. You don't need to edit this question, they have given you the right info and read it correctly. (Again, this will return the same data as an intersect in your case).

If anything, I would suggest that you include your code - or post your own answer to the question in this case. Looking at them - they will all be right.

I went through and tried to give you a pretty thorough explanation of the other answers with examples in a little database I made just to answer your question :)

share|improve this answer

If it's your question, the first thing to do is to update it to make it more clear to people.

A good idea would be adding some info that shows the fact you know people have answered the question wrongly because of misunderstanding. That will help other people that will open your question and will not know what's going on (i.e. the question and the answers are on different topics).

For example, if the question was "How to output a string in C/C++", and people have given you examples with printf() while you wanted iostream, you might write something like

Update: Sorry to everyone who has already answered, but I forgot to include an important detail into my question. I need solutions using C++ streams, not old C functions.

Leave a comment to each of the answers to tell their authors that they have misunderstood the question, and kindly ask them to read the updated question again and improve their answers. I guess that's about as much as you can do.

share|improve this answer

You better need to ask this question to yourself. You have to jot down the points pointing out why the post has been misinterpreted. Is there anything wrong with the wording or have I not posted all the relevant matter.

Not all of the answers could be misinterpreted. There has to be something wrong with the post. So you should review your own post to make it more clear.

Though no answer is wasted here on Stack Overflow. If the answer doesn't suit your requirements, it might fit some other user's query. So never delete any of the answers, no matter how poorly it relates to your requirement.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .