|
Hi
I have created two tables which are movies table and videos table
Columns of movies table are movie id, movietitle, moviereviewid and the select statement which I have written to fetch count of reviews is as follows
select movieid, count(moviereviewid) as Moviereviewscnt from movies
where moviereviewid >0
columns of videos table are videoid, videoname and movievideoid and the select statment which I have written to fetch count of videos is as follows
select movieid, count(videoid) as Vidoescnt from videos
where videoid >0
I want to write a select query to fetch all those movies which has got moviereviews and movievideos in a single table i.e. it should have
movieid, moviename, moviereviewscnt and movievideoscnt
In other words it should show only those movies which has reviews and videos which is >0
| |
Share:
Expert 100+ |
Hi,
Your requirement is not clear to me, it will be more clear if you can provide some sample data and output you want.
Any way try the following query, probably will help you. -
select movieid, movietitle as moviename,
-
count(moviereviewid) as Moviereviewscnt ,
-
count(videoid) as Vidoescnt
-
from movies inner join
-
videoid on videoid.movieid = movies.movieid
-
where moviereviewid >0 and videoid > 0
-
group by movies.movieid
-
Thanks
| | |
Hi
Thanks for your response but the query which you gave doesnt work. It displays the same cnt for movie reviews and videoreviews
Let me explain you in detail
As I said I have got two tables like one is 'Food table' and the other one is the 'Videos' table
Columns which I have created in 'Food' table are 'foodid' and 'blogcid'
colcumns which I have created in Videos table are 'videoid, 'destid', 'videotitle'
Common column for the above two tables are foodid and destid which has the same content id for inner join
I need to fetch records of those foodids which has got blogs and videos
For example
Food id blog cid
3 12356
9 15265
15 18963
19 0
13 22156
videoid videotitle destid
9 paneerpakora 3
11 aloogobhi 9
16 chinese chickensalad 15
45 Chicken 19
0 tomato soup 13
From the above data I have to fetch only those records which has blogs and videos. In other words I need a select query to fetch records of those dishes alone which has blogs >0 and destid >0 which means that fetched foodids should have both blogs and videos it should fetch records which doesnt have blogs or videos.
Hi,
Your requirement is not clear to me, it will be more clear if you can provide some sample data and output you want.
Any way try the following query, probably will help you. -
select movieid, movietitle as moviename,
-
count(moviereviewid) as Moviereviewscnt ,
-
count(videoid) as Vidoescnt
-
from movies inner join
-
videoid on videoid.movieid = movies.movieid
-
where moviereviewid >0 and videoid > 0
-
group by movies.movieid
-
Thanks
| | Expert 100+ |
Hi,
thanks for the information provided, but missed with the expected output.
can you give the sample output you are expecting.
I just changed the query to match with the sample data given, here is the query. -
select videoid,videotitle,count(blogcid),count(destid)
-
from food inner join
-
video on video.destid = food.foodid
-
where blogcid > 0 and destid > 0
-
group by videoid,videotitle
-
thanks
| | |
Hi,
thanks for the information provided, but missed with the expected output.
can you give the sample output you are expecting.
I just changed the query to match with the sample data given, here is the query. -
select videoid,videotitle,count(blogcid),count(destid)
-
from food inner join
-
video on video.destid = food.foodid
-
where blogcid > 0 and destid > 0
-
group by videoid,videotitle
-
thanks
Hi
Thank you for your response. Query doesnt give the expected result.
Here is the sample data :
Food id blog cid
3 12356
3 12357
3 12358
9 15265
15 18963
15 18964
19 0
13 22156
videoid videotitle destid
9 paneerpakora 3
10 paneerpakora 3
11 aloogobhi 9
16 chinese chickensalad 15
17 chinese chickensalad 15
18 chinese chickensalad 15
45 Chicken 19
0 tomato soup 13
Here is the expected result:
Output should display as given
Food id blogcnt Videocnt
3 3 2
9 1 1
15 2 3
13 1 1
On executing the query it should display only those records for which blogs and videos are existing. It should not dipslay the records there is no videos or if there is no blogs. In other words it should fetch only those records for which
videos and blogs are posted, displaying the count of blogs and count of videos as given above
| | Expert 100+ |
Hi,
Based on the sample data given here is the query you want. -
create table Food( foodid int, blogcid int)
-
-
insert into food
-
select 3, 12356 union
-
select 3, 12357 union
-
select 3, 12358 union
-
select 9, 15265 union
-
select 15, 18963 union
-
select 15, 18964 union
-
select 19, 0 union
-
select 13, 22156
-
-
-
create table videos( videoid int,videotitle varchar(20),destid int)
-
-
insert into videos
-
SELECT 9,'paneerpakora', 3 UNION
-
SELECT 10 ,'paneerpakora', 3 UNION
-
SELECT 11 ,'aloogobhi', 9 UNION
-
SELECT 16 ,'chinese chickensalad', 15 UNION
-
SELECT 17 ,'chinese chickensalad', 15 UNION
-
SELECT 18 ,'chinese chickensalad', 15 UNION
-
SELECT 45 ,'Chicken', 19 UNION
-
SELECT 0 ,'tomato soup', 13
-
-
-
SELECT FOODID,COUNT(DISTINCT BLOGCID),COUNT(DISTINCT VIDEOID)
-
FROM FOOD INNER JOIN
-
VIDEOS ON VIDEOS.DESTID = FOOD.FOODID
-
WHERE BLOGCID > 0 AND DESTID > 0
-
GROUP BY FOODID
-
Thanks
| | |
Hi,
Based on the sample data given here is the query you want. -
create table Food( foodid int, blogcid int)
-
-
insert into food
-
select 3, 12356 union
-
select 3, 12357 union
-
select 3, 12358 union
-
select 9, 15265 union
-
select 15, 18963 union
-
select 15, 18964 union
-
select 19, 0 union
-
select 13, 22156
-
-
-
create table videos( videoid int,videotitle varchar(20),destid int)
-
-
insert into videos
-
SELECT 9,'paneerpakora', 3 UNION
-
SELECT 10 ,'paneerpakora', 3 UNION
-
SELECT 11 ,'aloogobhi', 9 UNION
-
SELECT 16 ,'chinese chickensalad', 15 UNION
-
SELECT 17 ,'chinese chickensalad', 15 UNION
-
SELECT 18 ,'chinese chickensalad', 15 UNION
-
SELECT 45 ,'Chicken', 19 UNION
-
SELECT 0 ,'tomato soup', 13
-
-
-
SELECT FOODID,COUNT(DISTINCT BLOGCID),COUNT(DISTINCT VIDEOID)
-
FROM FOOD INNER JOIN
-
VIDEOS ON VIDEOS.DESTID = FOOD.FOODID
-
WHERE BLOGCID > 0 AND DESTID > 0
-
GROUP BY FOODID
-
Thanks
Hi
Thanks a lot for your response the query worked out
| | Post your reply Sign in to post your reply or Sign up for a free account.
Similar topics
7 posts
views
Thread by Neil |
last post: by
|
6 posts
views
Thread by Michael |
last post: by
|
5 posts
views
Thread by David Logan |
last post: by
|
1 post
views
Thread by Andrew McNab |
last post: by
|
4 posts
views
Thread by Ben |
last post: by
|
1 post
views
Thread by ET |
last post: by
|
1 post
views
Thread by Mrozu |
last post: by
|
1 post
views
Thread by JJ |
last post: by
| | | | | | | | | | | |