Question: I'm very new in this and my question might be very stupid, please forgive me. 

So I'm working on an e-commerce website that will have multiple sellers displaying their products in one store, there will be a function to display the name of the seller like this "Sold by: Xavier". So what I want to do is let the word "sold by" be in different colour and the seller's name should be in a different colour too.
Take a look at my codes below, it will display "Sold by: Xavier" but in only one colour (black).

```
<span style="color:black;">Sold by: {{$product->seller->username}}</span><br>

```

Answer: 
You seem to be saying you want a list of cities that have hosted at least 3 different artists, but the query you provided doesn't do that, it just links the concert table to itself 3 times in identical manner. This link will always succeed in the same way and essentially is a non operation, because it asks if the table has data that exists in itself- something true for any database table with at least one row

That's why your logic doesn't work, but for a query that works something more like:

```
Select city from concert group by city having count(distinct artist)>= 3

```

May be more appropriate
The problem is that each record matches itself, so you need to ensure that the records found by e.g. the B query aren't the same records that are found by the A, C, and D queries. You can use joins here:

```
select DISTINCT A.City 
from Concerts A
INNER JOIN CONCERTS B
  ON B.CITY = A.CITY AND
     B.ID <> A.ID
INNER JOIN CONCERTS C
  ON C.CITY = A.CITY AND
     C.ID <> A.ID
INNER JOIN CONCERTS D
  ON D.CITY = A.CITY AND
     D.ID <> A.ID;

```

[SQLFiddle here](http://sqlfiddle.com/#!4/b75cf2/1)

Best of luck.