Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SQL server return only single row or null

I have a SQL query which I only ever want to return 1 row. If there are multiple rows, I want to return null.

I guess I can do it with something like

SELECT whatever FROM MyTable
 WHERE something = myQuery
   AND ( COUNT(SELECT whatever FROM MyTable
             WHERE something = myQuery) = 1)

but that's pretty nasty and I wondered if there as a neater way of doing it.

like image 658
fearofawhackplanet Avatar asked Oct 12 '25 23:10

fearofawhackplanet


1 Answers

Cant you do:

SELECT whatever FROM
    (
       SELECT whatever, COUNT(*) As NumRecords
       FROM MyTable
       WHERE something = myQuery
       GROUP BY whatever
       HAVING NumRecords = 1
    )
like image 160
RPM1984 Avatar answered Oct 14 '25 14:10

RPM1984