Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 days ago.
Improve this question
Example tables:
Table A Table B
A 1
B 2
C 3
Expected output:
A 1
A 2
A 3
B 1
B 2
B 3
C 1
C 2
C 3
You need a cross join between the two tables:
SELECT a.column_a, b.column_b
FROM a
CROSS JOIN b
ORDER BY a.column_a, b.column_b
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 10 months ago.
Improve this question
Need to write SQL query for getting below output with the given input table:
Input Table:
Col1
1
2
3
Output:
Col1
1
2
2
3
3
3
WITH CTE(NN)AS
(
SELECT 1 UNION ALL
SELECT 2 UNION ALL
SELECT 3 UNION ALL
SELECT 4 UNION ALL
SELECT 5
)
SELECT C.NN
FROM CTE AS C
CROSS JOIN CTE C2
WHERE C2.NN<=C.NN
CTE is your input table
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
Table: customer
Customer number PRODUCT_ID
---------------- -----
12345 1
23456 2
12345 3
23456 3
12345 4
I need to create a query that will list all customers having 2 or more PRODUCT_ID > 2
select c.customer_number, count(c.product_id) as product_count
from customer c
group by c.customer_number
having count(c.product_id) > 2
You should read through this explanation of how HAVING clause should be used in conjunction with aggregate functions: https://www.w3schools.com/sql/sql_having.asp
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
This is the table I have and I have 5 distinct programs. when a user like a program it reads as follows:
User Program
----------------
A 1
A 4
B 2
B 4
B 5
However I want to write a query that will allow me to also see the 5 distinct programs for each of my user and create a new column that will take two value (binary) 1 if the user liked a specific program and if not 0. Any help will be appreciated. Thanks
User Program NewColumn
A 1 1
A 2 0
A 3 0
A 4 1
A 5 0
B 1 0
B 2 1
B 3 0
B 4 1
B 5 1
You can do this with a cross join and left join:
select u.user, p.program,
(case when t.user is not null then 1 else 0 end) as NewCol
from (select distinct user from table) u cross join
(select distinct program from table) p left join
table t
on u.user = t.user and p.program = t.program;
Note: You may already have tables with the users and the programs. If so, use those instead of the subqueries.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
Let's assume I have a table: Where x is value of chose1 and y value of chose2
ID Chose1 Chose2 x y
1 A B 2 3
2 C D 3 5
From this I would like to get something like this: Where z is x*y (if chose is empty,y=1).
NR ID Chose1 Chose2 z
1 1 A 2
2 1 A B 6
3 1 B 3
4 2 C 3
5 2 C D 15
6 2 D 5
This select statement will get the data above with the examples you gave:
select (ID-1)*3+1 as NR, id, Choose1, null as Choose2, x as z from tbl_values
union
select (ID-1)*3+2, id, Choose1, Choose2, x*y from tbl_values
union
select (ID-1)*3+3, id, null, Choose2, y from tbl_values
order by NR
Demo here (tested in MySQL, SQL Server): http://sqlfiddle.com/#!2/5af4b/3
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
i have table Match:
ID (int)
ID_Match (int)
ID_Player (int)
Attend (bit)
Goals (int)
When i write
Select * from Match
i have this:
ID ID_Match ID_Player Attend Goals
1 69 1 10 1 2
2 70 1 11 0 0
And i want have this:
ID_Player ID_Match Attend Goals
10 1 1 2
Have you some idea?
try this :
select top 1 ID_Player ,ID_Match ,Attend ,Goals from table_name order by ID asc