Sponsored Content
Full Discussion: 'Backreferencing' in SQL?
Top Forums Programming 'Backreferencing' in SQL? Post 302307179 by Housni on Tuesday 14th of April 2009 09:44:22 PM
Old 04-14-2009
'Backreferencing' in SQL?

My SQL is very rust and I'm having a problem with a query.
First, here are the tables involved.

Code:
Table `os`:
+--------------------------------+
| id | distro       | version    |
+--------------------------------+
| 1  |  CentOS      |  5.2       |
| 2  |  RHEL        |  5         |
| 3  |  RHEL        |  4         |
+--------------------------------+


Table `admins`:
+----------------+
| id |    title  |
+----------------+
| 1  | Trovalds  |          
| 2  | Stallman  |
| 3  | Housni    |
+----------------+


Table `servers`:
+------------------------+
| id |  title   |  os_id |
+------------------------+
| 1 |  Portal   |  1     |
| 2 |  Staging  |  1     |
| 3 |  Live     |  3     |
+------------------------+


I have a table `server_admin` which holds two foreign keys: server_id and admin_id
+----------------------+
| server_id | admin_id |
+----------------------+
|     1     |    1     |
|     1     |    3     |
|     1     |    4     |
|     2     |    7     |
|     3     |    2     |
+----------------------+



I know the query below has a syntax error but I'm using it here to illustrate what I want to do.
I want `servers`.`title` of the AND clause for the nested select to match with `origname`.
What I want to achieve is something similar to backreferencing in Regular Expressions.
Code:
SELECT CONCAT_WS( ' - ', `servers`.`title` AS `origname`, (
        SELECT CONCAT_WS( ' - ', `distro`, `version` ) AS `disver` 
        FROM `os` , `servers` 
        WHERE `os`.`id` = `servers`.`id` AND `servers`.`title` = `origname`) 
) AS `servname`, `server_admin`.`server_id` 
FROM `server_admin`, `servers`
WHERE (`server_admin`.`server_id` = `servers`.`id`)
GROUP BY `servers`.`title`;

Any ideas how I can do this?
Thanks.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Asking on SQL

Hi, not sure whether anybody can help me with sql plus .. I try to run the sql with (select count(*) from table) and setting the set heading off and it will give me this result as shown: T_APPLICANT:1542 ... (2 Replies)
Discussion started by: blueberry80
2 Replies

2. Shell Programming and Scripting

Calling SQL LDR and SQL plus scripts in a shell script

Hi- I am trying to achieve the following in a script so I can schedule it on a cron job. I am fairly new to the unix environment... I have written a shell script that reads a flat file and loads the data into an Oracle table (Table1) via SQLLDR. This Works fine. Then, I run a nested insert... (5 Replies)
Discussion started by: rajagavini
5 Replies

3. Shell Programming and Scripting

unix variables from sql / pl/sql

How do I dynamically assign the below output to unix shell variables so I can build a menu in a shell script? Example: var1 = 1 var2= SYSTEM var3 = 2 var4= UNDOTBS1 and so on, then in the shell script I can use the variables to build a menu. set serveroutput on declare... (2 Replies)
Discussion started by: djehres
2 Replies

4. UNIX for Dummies Questions & Answers

Execute PL/SQL function from Unix script (.sql file)

Hi guys, I am new on here, I have a function in oracle that returns a specific value: create or replace PACKAGE BODY "CTC_ASDGET_SCHED" AS FUNCTION FN_ASDSCHEDULE_GET RETURN VARCHAR2 AS BEGIN DECLARE ASDSchedule varchar2(6); ASDComplete... (1 Reply)
Discussion started by: reptile
1 Replies

5. Shell Programming and Scripting

How to use sql data file in unix csv file as input to an sql query from shell

Hi , I used the below script to get the sql data into csv file using unix scripting. I m getting the output into an output file but the output file is not displayed in a separe columns . #!/bin/ksh export FILE_PATH=/maav/home/xyz/abc/ rm $FILE_PATH/sample.csv sqlplus -s... (2 Replies)
Discussion started by: Nareshp
2 Replies

6. Shell Programming and Scripting

grep backreferencing question

Hello, My input would be : ###Anything int b,c,a; int a,b,b; ###Anything int c,d,c; int k,l; ###ANYTHING Many declarations interspersed with other statements. I am trying to find only the declarations where a line has a variable declared more than once. The output for... (24 Replies)
Discussion started by: prasanna1157
24 Replies

7. Shell Programming and Scripting

Execute multiple SQL scripts from single SQL Plus connection

Hi! I would like to do a single connection to sqlplus and execute some querys. Actually I do for every query one connection to database i.e echo 'select STATUS from v$instance; exit' > $SQL_FILE sqlplus user/pass@sid @$SQL_FILE > $SELECT_RESULT echo 'select VERSION from v$instance;... (6 Replies)
Discussion started by: guif
6 Replies

8. UNIX for Advanced & Expert Users

Call parallel sql scripts from shell and return status when both sql are done

Hi Experts: I have a shell script that's kicked off by cron. Inside this shell script, I need to kick off two or more oracle sql scripts to process different groups of tables. And when both sql scripts are done, I will continue in the shell script to do other things like checking processing... (3 Replies)
Discussion started by: huasheng8
3 Replies

9. Shell Programming and Scripting

Run SQL thru shell script: how to get a new line when run sql query?

Hi, this's Pom. I'm quite a new one for shell script but I have to do sql on shell script to query some information from database. I found a concern to get a new line...When I run my script, it retrieves all data as wondering but it's shown in one line :( What should I do? I'm not sure that... (2 Replies)
Discussion started by: Kapom
2 Replies

10. Shell Programming and Scripting

Storing multiple sql queries output into variable by running sql command only once

Hi All, I want to run multiple sql queries and store the data in variable but i want to use sql command only once. Is there a way without running sql command twice and storing.Please advise. Eg : Select 'Query 1 output' from dual; Select 'Query 2 output' from dual; I want to... (3 Replies)
Discussion started by: Rokkesh
3 Replies
DELETE(7)							   SQL Commands 							 DELETE(7)

NAME
DELETE - delete rows of a table SYNOPSIS
DELETE FROM [ ONLY ] table [ WHERE condition ] INPUTS table The name (optionally schema-qualified) of an existing table. condition This is an SQL selection query which returns the rows which are to be deleted. Refer to the SELECT statement for further description of the WHERE clause. OUTPUTS DELETE count Message returned if items are successfully deleted. The count is the number of rows deleted. If count is 0, no rows were deleted. DESCRIPTION
DELETE removes rows which satisfy the WHERE clause from the specified table. If the condition (WHERE clause) is absent, the effect is to delete all rows in the table. The result is a valid, but empty table. Tip: TRUNCATE [truncate(7)] is a PostgreSQL extension which provides a faster mechanism to remove all rows from a table. By default DELETE will delete tuples in the table specified and all its sub-tables. If you wish to only update the specific table men- tioned, you should use the ONLY clause. You must have write access to the table in order to modify it, as well as read access to any table whose values are read in the condition. USAGE
Remove all films but musicals: DELETE FROM films WHERE kind <> 'Musical'; SELECT * FROM films; code | title | did | date_prod | kind | len -------+---------------------------+-----+------------+---------+------- UA501 | West Side Story | 105 | 1961-01-03 | Musical | 02:32 TC901 | The King and I | 109 | 1956-08-11 | Musical | 02:13 WD101 | Bed Knobs and Broomsticks | 111 | | Musical | 01:57 (3 rows) Clear the table films: DELETE FROM films; SELECT * FROM films; code | title | did | date_prod | kind | len ------+-------+-----+-----------+------+----- (0 rows) COMPATIBILITY
SQL92 SQL92 allows a positioned DELETE statement: DELETE FROM table WHERE CURRENT OF cursor where cursor identifies an open cursor. Interactive cursors in PostgreSQL are read-only. SQL - Language Statements 2002-11-22 DELETE(7)
All times are GMT -4. The time now is 12:12 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy